simplify - use source abstraction instead of agg root
Implement InMemoryBus as singleton
Implement event source repository
Merge branch 'simplified'