/// <summary>
 /// Initializes a new instance of the <see cref="EmbeddingStateUpdater"/> class.
 /// </summary>
 /// <param name="embedding">The <see cref="EmbeddingId"/> that identifies the embedding.</param>
 /// <param name="committedEvents">The <see cref="IFetchCommittedEvents"/> that is used to fetch aggregate events.</param>
 /// <param name="embeddingStore">The <see cref="IEmbeddingStore"/> that is used to persist the states.</param>
 /// <param name="logger">The <see cref="ILogger"/>.</param>
 public EmbeddingStateUpdater(
     EmbeddingId embedding,
     IFetchCommittedEvents committedEvents,
     IEmbeddingStore embeddingStore,
     IProjectManyEvents projectManyEvents,
     ILogger logger)
 {
     _embedding         = embedding;
     _committedEvents   = committedEvents;
     _embeddingStore    = embeddingStore;
     _projectManyEvents = projectManyEvents;
     _logger            = logger;
 }
 /// <summary>
 /// Initializes an instance of the <see cref="EmbeddingProcessorFactory" /> class.
 /// </summary>
 public EmbeddingProcessorFactory(
     TenantId tenant,
     IEventStore eventStore,
     IFetchCommittedEvents committedEventsFetcher,
     IEmbeddingStore embeddingStore,
     IStreamEventWatcher streamEventWatcher,
     ICompareStates stateComparer,
     IDetectEmbeddingLoops loopDetector,
     ILoggerFactory loggerFactory
     )
 {
     _tenant                 = tenant;
     _eventStore             = eventStore;
     _committedEventsFetcher = committedEventsFetcher;
     _embeddingStore         = embeddingStore;
     _streamEventWatcher     = streamEventWatcher;
     _stateComparer          = stateComparer;
     _loopDetector           = loopDetector;
     _loggerFactory          = loggerFactory;
 }