Small API, clear behavior
Familiar methods with well-defined semantics for fire order, once listeners, waits, and destruction.
Fast dispatch paths, coroutine-backed async listeners, and explicit lifecycle rules.
local Signal = require(path.to.CuteSignal)Signal.new() creates standalone signals.:Connect, :ConnectAsync, and :Once each return an idempotent disconnect() function.:Count, :HasConnections, and :IsDestroyed expose signal state.For full method signatures, open Signal Documentation.