MDL-39846 implement new event dispatching

This includes incomplete base event class which will be finished later.