protected virtual void ApplyEvents <T>(T aggregateRoot, IEnumerable <IEvent> events) where T : IAggregateRoot { EventApplier.Apply(aggregateRoot, events); }