public ConfirmationPanelControllerVm()
 {
     DiscardActionCommand = NoggogCommand.CreateFromObjectz(
         objectSource: this.WhenAnyValue(x => x.TargetConfirmation),
         canExecute: target =>
     {
         if (target == null)
         {
             return(Observable.Return(false));
         }
         if (target.DiscardActionCommand == null)
         {
             return(Observable.Return(true));
         }
         return(target.DiscardActionCommand.CanExecute);
     },
         execute: x =>
     {
         (x?.DiscardActionCommand as ICommand)?.Execute(Unit.Default);
         TargetConfirmation = null;
     },
         disposable: this);
     ConfirmActionCommand = NoggogCommand.CreateFromObjectz(
         objectSource: this.WhenAnyValue(x => x.TargetConfirmation),
         canExecute: target =>
     {
         if (target == null)
         {
             return(Observable.Return(false));
         }
         return(target.ConfirmActionCommand.CanExecute);
     },
         execute: x =>
     {
         (x?.ConfirmActionCommand as ICommand)?.Execute(Unit.Default);
         TargetConfirmation = null;
     },
         disposable: this);
 }