code: func NewCmdWithRunner(cmdName string, runner func()) (*CmdWithRunner, error) {
  	if cmdName == "" {
  		return nil, errors.New("cmdName cannot be blank")
  	}
  
  	for _, r := range cmdName {
  		if unicode.IsSpace(r) {
  			return nil, errors.Errorf("cmdName cannot contain whitespace: %q", cmdName)
  		}
  	}
  
  	return &CmdWithRunner{
  		cmdName: cmdName,
  		runner:  runner,
  	}, nil
  }
docs: // NewCmdWithRunner creates a new CmdWithRunner for the provided name and runner. Returns an error if the provided name
  // is not a legal command name.