function Signal.Once(h,G)local F F=h:Connect(function(...)if F._connected then F:Disconnect()end G(...)end)return F end Signal.Destroy=Signal.DisconnectAll
-- Implement Signal:Once() in terms of a connection which disconnects
-- itself before running the handler.
function Signal:Once(fn)
	local cn
	cn = self:Connect(function(...)
		if cn._connected then
			cn:Disconnect()
		end
		fn(...)
	end)
	return cn
end

Signal.Destroy = Signal.DisconnectAll
