Emitter

Created by Signal.new. The emitter stores its own handlers and schedules callbacks using task.spawn. Call methods with a colon, such as event:Connect(callback). The emitter is reusable after DisconnectAll. Waiting coroutines stay suspended until a future Fire; clearing handlers does not resume them.

SignalConnection

Connect and Once return a custom subscription object.
boolean
Whether the subscription is still active.
Disconnect removes the subscription. Its lowercase and Destroy/destroy aliases perform the same operation. This custom connection has no native-wrapper Enable, Disable, Fire, Defer, Function, Thread, ForeignState, or LuaConnection fields. It is separate from the native Connection wrappers returned by getconnections.