i dont like this one, that is what DomainEventProvider is for, the AggregateRoot is specficially for apply() not for raise()