protected async Task ExecuteCommandAsync
     (Action <CancellationToken> action, ICommand command, CancellationToken cancellationToken)
 {
     await CommandExecutionHelper.ExecuteCommandAsync(action, command, StateManager, cancellationToken);
 }
 protected async Task <T> ExecuteCommandAsync <T>
     (Func <CancellationToken, Task <T> > func, ICommand command, CancellationToken cancellationToken)
     where T : struct
 {
     return(await CommandExecutionHelper.ExecuteCommandAsync(func, command, StateManager, cancellationToken));
 }
 protected async Task ExecuteCommandAsync
     (Func <CancellationToken, Task> func, ICommand command, CancellationToken cancellationToken)
 {
     await CommandExecutionHelper.ExecuteCommandAsync(func, command, StateManager, cancellationToken);
 }