function ValueObjectUtils.observeValueBrio(m)assert(m,"\066\097\100 \118\097\108\117\101\079\098\106\101\099\116")return Observable.new(function(t)local l=Maid.new()local function e()local e=Brio.new(m.Value)l._lastBrio=e t:Fire(e)end l:GiveTask(m.Changed:Connect(e))e()return l end)end return ValueObjectUtils

function ValueObjectUtils.observeValueBrio(valueObject)
	assert(valueObject, "Bad valueObject")

	return Observable.new(function(sub)
		local maid = Maid.new()

		local function refire()
			local brio = Brio.new(valueObject.Value)
			maid._lastBrio = brio
			sub:Fire(brio)
		end

		maid:GiveTask(valueObject.Changed:Connect(refire))

		refire()

		return maid
	end)
end


return ValueObjectUtils
