Like EventSource.handle, but for a specific event type.
You're free to create a hierarchy of event classes and handle any subclass of AbstractEvent (including AbstractEvent itself, although it's usually only advisable for very general purposes, like debugging or logging).
Optional
priority: numberLike EventSource.unhandle, but for a specific event type.
Like EventSource.submit, but sequentially processes all event sources for the types and in the order returned by AbstractEvent.getTypeChain.
a promise that settles when all processing is done
Supports handling events of multiple types. A typical use case is a shared event bus to achieve bidirectional communication between multiple modules without interdependencies. Each module only needs to depend on a shared instance and event definitions. Internally manages an EventSource for each event type a handler is registered for.