public function parseControllerString($controllerString)
    {
        $partsArray = explode('@', $controllerString);

        if(count($partsArray) > 2)
        {
            throw new \Exception("Error parsing controller string, too many @'s found. Only use one to destinguish the controller method.", 1);
        }
        else
        {
            if(strpos($partsArray[0], ':'))
            {
                $parts = explode(':', $partsArray[0]);

                $this->controller_name = array_pop($parts);
                $this->controller = $this->controller_name . '.php';
                $this->controller_path = implode('\\', $parts);
            }
            else
            {
                $this->controller_name = $partsArray[0];
                $this->controller = $this->controller_name . '.php';
            }

            $this->action = $partsArray[1];
        }
    }