protected async Task DispatchCommandAsync <TCommand>(TCommand command)
            where TCommand : ICommandProvider
        {
            Authorize(command);

            await _commandDispatcher.DispatchAsynch(command);
        }