function Blend.Attached(q)return function(n)return Observable.new(function(g)local M=Maid.new()local N=q(n)if MaidTaskUtils.isValidTask(N)then M:GiveTask(N)end g:Fire(N)return M end)end end

function Blend.Attached(constructor)
	return function(parent)
		return Observable.new(function(sub)
			local maid = Maid.new()

			local resource = constructor(parent)

			if MaidTaskUtils.isValidTask(resource) then
				maid:GiveTask(resource)
			end

			sub:Fire(resource)

			return maid
		end)
	end;
end
