final public function call(MVC $mvc, $method, $fileView = null)
    {
        if (!method_exists($this, $method)) {
            throw new \LogicException(sprintf('Method "s" don\'t exists.', $method));
        }
        # Replace the view object
        $this->view = $mvc->view();
        # Arguments of method
        $arguments = array();
        # Create a reflection method
        $reflectionMethod = new \ReflectionMethod(get_class($this), $method);
        $reflectionParams = $reflectionMethod->getParameters();
        
        foreach ($reflectionParams as $param) {
            if ($paramClass = $param->getClass()) {
                $className = $paramClass->name;
                if ($className === 'MVC\\MVC' || $className === '\\MVC\\MVC') {
                    $arguments[] = $mvc;
                } elseif ($className === 'MVC\\Server\\HttpRequest' || $className === '\\MVC\\Server\\HttpRequest') {
                    $arguments[] = $mvc->request();
                }
            } else {
                foreach ($mvc->request()->params as $keyReqParam => $valueReqParam) {
                    if ($param->name === $keyReqParam) {
                        $arguments[] = $valueReqParam;
                        break;
                    }
                }
            }
        }
        
        $response = call_user_func_array($reflectionMethod->getClosure($this), $arguments);

        if (empty($response)) {
            throw new \LogicException('Response null returned.');
        }
        
        if (is_string($response)) {
            $this->response['body'] = $response;
        } elseif ($mvc->request()->isAjax()) {
            $this->response['body'] = $this->renderJson($response);
        } elseif(is_array($response)) {
            if (!$fileView) {
                throw new \LogicException('File view is null.');
            }
            $class = explode("\\", get_called_class());
            $classname = end($class);
            // Class without Controller
            $classname = str_replace('Controller', '', $classname);
            $file = $classname . "/{$fileView}";
            $this->response['body'] = $this->renderHtml($file, $response);
        }

        return $this->response;
    }