public AggregateRegistration WithDelayedReadModel(Func <IUnitOfWorkScope, IReadModelBuilder> builderFactory)
        {
            var registration = new AggregateRegistration(this);

            registration.delayedBuilders.Add(builderFactory);
            return(registration);
        }
 private AggregateRegistration(AggregateRegistration registration)
 {
     this.aggregateType     = registration.aggregateType;
     this.instantiator      = registration.instantiator;
     this.immediateBuilders = new List <Func <IUnitOfWorkScope, IReadModelBuilder> >(registration.immediateBuilders);
     this.delayedBuilders   = new List <Func <IUnitOfWorkScope, IReadModelBuilder> >(registration.delayedBuilders);
 }