public void MarkEventsAsCommitted()
        {
            // first publish commmitted events
            foreach (var @event in _changes)
            {
                _eventPublisher?.Publish(@event);
                _eventPublisher?.PublishCommitted(@event);
            }

            _changes.Clear();
        }