function ValueObject.Observe(q)return Observable.new(function(B)if not q.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")B:Complete()return end local j=Maid.new()j:GiveTask(q.Changed:Connect(function()B:Fire(q.Value)end))B:Fire(q.Value)return j end)end
--[=[
	Observes the current value of the ValueObject
	@return Observable<T>
]=]
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
