public virtual async Task Archive <T>(T aggregate, CancellationToken token = default)
     where T : class, IEventSourcingAggregateRoot <TId>, new()
 {
     await _eventStore.ArchiveStream(aggregate.Id, token);
 }