internal void OnCanExecuteChanged(object sender, CanExecuteChangedEventArgs e)
 {
     if (_target.IsAlive)
     {
         ((CommandModel <TCommandState, TParameter, TResult>)_target.Target).OnCanExecuteChanged(e);
     }
 }
        private void Notifier_CanExecuteChanged(object sender, CanExecuteChangedEventArgs e)
        {
            if (_functionName == "")
            {
                throw new BasicBlankException("No canexecute function was found.  Should not have raised this.  Rethink");
            }

            if (e.Name == _functionName)
            {
                ReportCanExecuteChange();
            }
        }