protected function fetchSubTemplateName()
    {
        if (!empty($this->subTemplate)) return;

        $className = get_called_class();

        if (mb_strpos($className, 'Controllers') === false)
        {
            $this->system->log()->notice("Fully qualified Controller class name does not contain 'Controllers' so we can't automatically discern the sub template name.");
            return;
        }

        $classSegments = explode('\\', $className);

        $templateName = '';
        while (($segment = array_pop($classSegments)) !== 'Controllers')
        {
            if (empty($templateName))
            {
                $templateName = strtolower($segment) . '.php';
            }
            else
            {
                $templateName = strtolower($segment) . DIRECTORY_SEPARATOR . $templateName;
            }
        }

        $this->subTemplate = 'pages' . DIRECTORY_SEPARATOR . $templateName;
    }