As a rule, applications do not create instances of MEvent. Instead, the SDK itself (the event source) creates instances of the appropriate subclass of MEvent when an event arrives and notifies all event listeners that are interested in the event. Applications that need custom events must create both a subclass of
MEventSource and a subclass of MEvent.