function Signal.new(A)local r=setmetatable({},Signal)if A then r.connectionsChanged=Signal.new()end r.connections={}r.totalConnections=0 r.waiting={}r.totalWaiting=0 return r end
-- CONSTRUCTOR
function Signal.new(createConnectionsChangedSignal)
	local self = setmetatable({}, Signal)

	if createConnectionsChangedSignal then
		self.connectionsChanged = Signal.new()
	end

	self.connections = {}
	self.totalConnections = 0
	self.waiting = {}
	self.totalWaiting = 0

	return self
end
