public function module($module, $init = true, $dispatchAction = null)
        {
            // Clean module name to prevent possible security vulnerabilities
            $sModule = preg_replace('/[^a-zA-Z0-9_]/', '', $module);

            // Upper-case beginning of each word
            $sModule = str_replace(' ', '\\', ucwords(str_replace('_', ' ', $sModule)));
            $sModuleClass = 'Module\\' . $sModule . '\Controller';

            // Ensure class exists / can be loaded
            if (!class_exists($sModuleClass)) {
                return false;
            }

            // Instantiate module class
            $sModuleObject = new $sModuleClass($this);

            // Run init() setup only if supported
            if (true === $init) {
                if (method_exists($sModuleObject, 'init')) {
                    $sModuleObject->init($dispatchAction);
                }
            }

            return $sModuleObject;
        }