function Blend.Attached(B)return function(v)return Observable.new(function(C)local l=Maid.new()local T=B(v)if MaidTaskUtils.isValidTask(T)then l:GiveTask(T)end C:Fire(T)return l 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
