public async Task SaveAsync(EventStream eventStream) { var events = eventStream.GetUncommitedChanges().ToList(); await StoreEventsAsync(eventStream.StreamIdentifier, events); await PublishEventsAsync(events); eventStream.MarkChangesAsCommitted(); }