function run()
    {  
        //Resolve request
        $this->resolve();  
        
        //If is a CALLBACK...
        if (is_object($this->controller)) {
            exit(call_user_func_array($this->controller, [$this->request, $this->params]));
        }
        if ($this->controller === null) {
            $this->controller = $this->method == 'CLI' ? $this->defaultCliController : $this->defaultController;
        }
        if ($this->action === null) {
            $this->action = $this->method == 'CLI' ? $this->defaultCliAction : $this->defaultAction;
        }

        //Name format to Controller namespace
        $ctrl = $this->formatePrsr4Name($this->controller, $this->method == 'CLI' ? $this->namespaceCliPrefix : $this->namespacePrefix);
        
        //Save the controller...
        $this->controller = $ctrl;
        
        //Check whether to automatically run the Controller 
        //      or return this object
        if(!$this->autorun) {
            return $this;            
        }
        
        //Instantiate the controller
        if (class_exists($ctrl)) {
            static::$ctrl = new $ctrl($this->params, $this->request);
            //IN CLI mode finish in this point: Cli\Main::__construct return to CMD.
        } else {
            if($this->method != 'CLI') {
                header("HTTP/1.0 404 Not Found");
                exit('Page not Found!');
            }
            exit("\nController not found!");            
        } 
        
        //Seeking for the METHOD...
        if (!method_exists(static::$ctrl, $this->action)) {
            $this->action = $this->method == 'CLI' ? $this->defaultCliAction : $this->defaultAction;
            if(!method_exists(static::$ctrl, $this->action)){
                if($this->method != 'CLI') {
                    header("HTTP/1.0 404 Not Found");
                    exit('Page not Found!');
                }
                exit();      
            }
        }
        
        //Call action
        return call_user_func_array([static::$ctrl, $this->action],
                                    [$this->request, $this->params]);
    }