protected void RaiseEvent(DomainEvent @event) { uncommittedEvents.Add(@event); (this as dynamic).Apply((dynamic)@event); }