call_user_func_array($this->controller, $this->method, $this->params);
This call is wrong, check this example on the official PHP documentation. Your code should be the following instead: (using array syntax for class methods).
call_user_func_array([$this->controller, $this->method], $this->params);
// ^ ^