private function HandleApplicant($Action, $UserID) {
      $this->Permission('Garden.Users.Approve');
      
      //$this->_DeliveryType = DELIVERY_TYPE_BOOL;
      if (!in_array($Action, array('Approve', 'Decline')) || !is_numeric($UserID)) {
         $this->Form->AddError('ErrorInput');
         $Result = FALSE;
      } else {
         $Session = Gdn::Session();
         $UserModel = new UserModel();
         if (is_numeric($UserID)) {
            try {
               $this->EventArguments['UserID'] = $UserID;
               $this->FireEvent("Before{$Action}User");
               
               $Email = new Gdn_Email();
               $Result = $UserModel->$Action($UserID, $Email);
               
               // Re-calculate applicant count
               $RoleModel = new RoleModel();
               $RoleModel->GetApplicantCount(TRUE);
               
               $this->FireEvent("After{$Action}User");
            } catch(Exception $ex) {
               $Result = FALSE;
               $this->Form->AddError(strip_tags($ex->getMessage()));
            }
         }
      }
   }