updated CommandExecutedEvent to be handled sync.
event aggregator uses threadpool to publish events