public function getChildController($controllerName)
    {
        $methodName = $this->parseControllerName($controllerName);
        if (!$this->reflection->hasMethod($methodName)) {
            throw new \RuntimeException("{$this->reflection->getName()}::{$methodName} does not exist");
        }

        $controller = $this->reflection->getMethod($methodName)->invokeArgs($this->controller, []);
        if (!is_object($controller) || !$controller instanceof Controller) {
            throw new \RuntimeException("{$this->reflection->getName()}::{$methodName} did not return a Controller");
        }
        return $controller;
    }