function ValueObject.Observe(C)return Observable.new(function(l)if not C.Destroy then warn("\091\086\097\108\117\101\079\098\106\101\099\116\046\111\098\115\101\114\118\101\086\097\108\117\101\093 - \067\111\110\110\101\099\116\105\110\103 \116\111 \100\101\097\100 \086\097\108\117\101\079\098\106\101\099\116")l:Complete()return end local x=Maid.new()x:GiveTask(C.Changed:Connect(function()l:Fire(C.Value)end))l:Fire(C.Value)return x end)end

function ValueObject:Observe()
	return Observable.new(function(sub)
		if not self.Destroy then
			warn("[ValueObject.observeValue] - Connecting to dead ValueObject")
			-- No firing, we're dead
			sub:Complete()
			return
		end

		local maid = Maid.new()

		maid:GiveTask(self.Changed:Connect(function()
			sub:Fire(self.Value)
		end))

		sub:Fire(self.Value)

		return maid
	end)

end
