Refactoring how Domain events are published and consumed
DomainEvents can be used to publish a list of events.