void Initialize(ApplicationViewModel vm)
 {
     ApplicationViewModel = vm ?? throw new ArgumentNullException(nameof(vm));
     this.Subscribe(Invoke);
 }
 public ApplicationCommand(ApplicationViewModel vm, IScheduler scheduler) :
     base(scheduler)
 {
     Initialize(vm);
 }
 public ApplicationCommand(ApplicationViewModel vm, IObservable <bool> canExecuteSource, IScheduler scheduler, bool initialValue = true) :
     base(canExecuteSource, scheduler, initialValue)
 {
     Initialize(vm);
 }
 public ApplicationCommand(ApplicationViewModel vm) :
     base()
 {
     Initialize(vm);
 }