public static IObservable <T> WhenExecute <T>(this ParametrizedAction action, Func <ParametrizedActionExecuteEventArgs, IObservable <T> > retriedExecution)
 => action.WhenExecute().SelectMany(retriedExecution).Retry(() => action.Application);
 public static IObservable <T> WhenExecute <T>(this ParametrizedAction action, Func <ParametrizedActionExecuteEventArgs, IObservable <T> > retriedExecution)
 => action.WhenExecute().SelectMany(retriedExecution).Retry(() => action.Application).TakeUntilDeactivated(action.Controller);