/// <inheritdoc />
        public TAggregateRoot CreateAggregate <TAggregateRoot, TAggregateState>(string id, AggregateExecutionContext context)
            where TAggregateRoot : BaseAggregateRoot <TAggregateState>
            where TAggregateState : AggregateState, new()
        {
            var aggregate = aggregateStore.Create <TAggregateRoot, TAggregateState>(id, context);

            aggregates[aggregate.Id] = aggregate;

            return(aggregate);
        }