MDL-39846 implement new event dispatching and base event class