Refactoring of Command... this new request-scoped service takes over the responsibilities (out of Command) for the actuall execution of a command (ie action invocation or property modification), to whit:
- graph of nested AbstractDomainEvents
Also, hold the set of dirtied objects.
The final plan here is for this object to aggregate all the state necessary to publish events, ie via PublisherService.
The graph of abstract domain events is intended to support profiling use cases (perhaps optionally enabled).