public void Save(T eventSourced, string correlationId)
        {
            // TODO: guarantee that only incremental versions of the event are stored
            var events     = eventSourced.Events.ToArray();
            var serialized = events.Select(e => _versionedEventSerializer.Serialize(e, typeof(T), correlationId));

            _eventStore.Save(eventSourced.Id.ToString(), serialized);

            _publisher.Send(eventSourced.Id.ToString(), events.Length);
        }