private static AggregateRootWithTwoDomainEvents CreateAggregateRootTrackedBy(IPostPersistenceDomainEventTracker<AggregateRootWithTwoDomainEvents> tracker)
 {
     return CreateAggregateRootTrackedBy(tracker, DummyPersistentObserver);
 }
 private static WeakReference<object> WeakAggregateRootBeingTrackedBy(IPostPersistenceDomainEventTracker<object> tracker)
 {
     return new WeakReference<object>(CreateAggregateRootTrackedBy(tracker));
 }
        private static AggregateRootWithTwoDomainEvents CreateAggregateRootTrackedBy(
			IPostPersistenceDomainEventTracker<AggregateRootWithTwoDomainEvents> tracker, Source.Of<object> persistentObserver)
        {
            var aggregateRoot = new AggregateRootWithTwoDomainEvents();
            tracker.TrackToPersistentStore(aggregateRoot, persistentObserver);
            return aggregateRoot;
        }