// Two constructors
 public MoreDelegateCommand(Action <object> execute, Func <object, bool> canExecute,
                            MoreDelegateCommand group = null)
 {
     this.execute    = execute;
     this.canExecute = canExecute;
     this.AddToGroup(group);
 }
 private void SetGroup(MoreDelegateCommand group)
 {
     this.Group = group;
     if (this.Group != null)
     {
         this.Group.AddToGroup(this);
     }
 }
 public MoreDelegateCommand(Action <object> execute, MoreDelegateCommand group = null)
 {
     this.execute    = execute;
     this.canExecute = this.AlwaysCanExecute;
     this.AddToGroup(group);
 }