virtual doesnt play well when in constructor. removed virtual from AggregateRoot