/**
  * Makes a call to the specified module+action and returns back to the caller
  * @param string $module
  * @param string $action
  * @param array $request
  * @return array
  */
 public function call($module = 'default', $action = 'index', $request = array('GET' => array(), 'POST' => array()))
 {
     $moduleClass = SkinnyControllerWPCsvFree::camelize($module) . 'Actions';
     $actionMethod = 'execute' . SkinnyControllerWPCsvFree::camelize($action);
     $moduleObj = new $moduleClass();
     if ($moduleObj->authenticatedOnly()) {
         if (!$this->skinnyUser->isAuthenticated()) {
             //Not authenticated!
             return null;
         }
     }
     if (is_callable(array($moduleObj, $actionMethod))) {
         $data = call_user_func_array(array($moduleObj, $actionMethod), array($request));
         if (SkinnySettings::$CONFIG['debug']) {
             global $__DEBUG;
             array_push($__DEBUG['data'], $data);
         }
     }
     return $data;
 }