on method
Subscribes to events. Supports exact names (e.g. 'audio:play') or wildcards (e.g. '' or 'audio:').
Returns a cancel callback function.
Implementation
void Function() on(String pattern, ConsonaEventListener listener) {
_listeners.putIfAbsent(pattern, () => {}).add(listener);
return () {
final set = _listeners[pattern];
if (set != null) {
set.remove(listener);
if (set.isEmpty) {
_listeners.remove(pattern);
}
}
};
}