function Blend.New(m)assert(type(m)=="\115\116\114\105\110\103","\066\097\100 \099\108\097\115\115\078\097\109\101")local t=BlendDefaultProps[m]return function(l)return Observable.new(function(e)local N=Maid.new()local C=Instance.new(m)N:GiveTask(C)if t then for m,t in pairs(t)do C[m]=t end end N:GiveTask(Blend.mount(C,l))e:Fire(C)return N end)end end

function Blend.New(className)
	assert(type(className) == "string", "Bad className")

	local defaults = BlendDefaultProps[className]

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

			local instance = Instance.new(className)
			maid:GiveTask(instance)

			if defaults then
				for key, value in pairs(defaults) do
					instance[key] = value
				end
			end

			maid:GiveTask(Blend.mount(instance, props))

			sub:Fire(instance)

			return maid
		end)
	end
end
