I have solved this problem, I just need to know what to do. I get the above error because I just realised that the class is being run as class::function($values) instead of class->function($values).
Does anyone know how to convert this function to instantiate the class then run the function with values?
private function _load($values=null) {
define('LOADED_CONTROLLER', $this->controller);
define('LOADED_FUNCTION', $this->function);
$function = $this->function;
$controller = new $this->controller;
($values == null) ? $controller->$function() : call_user_func_array(array($this->controller, $function), $values);
}