refactoring the nasty generics stuff in MemoryEventStore - no more Event type annotation needed for calling DispatchEvents
further refactorings: OOP interface design -> FP design