All event objects are instances of either the SOMEEvent class or
a subclass of it. The hierarchy of event classes is as follows:
SOMObject─────────SOMEEvent─────────┼──────────SOMETimerEvent
├──────────SOMEClientEvent
├──────────SOMESinkEvent
├──────────SOMEWorkProcEvent
When called by EMan, a callback expects the appropriate event instance as a parameter. For example, a callback registered for a timer event expects a SOMETimerEvent instance from EMan.