protected static function initConfiguration()
    {
        $caching   = self::$registry->getParameter('doozr.kernel.caching');
        $namespace = self::$registry->getParameter('doozr.namespace.flat').'.cache.configuration';

        $cache = Doozr_Loader_Serviceloader::load(
            'cache',
            self::$registry->getParameter('doozr.kernel.caching.container'),
            $namespace,
            [],
            self::$registry->getParameter('doozr.unix'),
            $caching
        );

        // Wire the required instances ...
        self::$registry->getContainer()->getMap()->wire(
            [
                'doozr.configuration.reader.json' => new Doozr_Configuration_Reader_Json(
                    Doozr_Loader_Serviceloader::load('filesystem'),
                    $cache,
                    $caching
                ),
                'doozr.cache.service' => $cache,
            ]
        );

        $configuration = self::$registry->getContainer()->build(
            'doozr.configuration',
            [
                $caching,
            ]
        );

        // Read Kernel configuration
        $configuration->read(
            self::$registry->getPath()->get('configuration').'.config.json'
        );

        // Retrieve list of service configuration files and read them ...
        $serviceConfigurationFiles = self::retrieveServiceConfigurationFiles();

        foreach ($serviceConfigurationFiles as $serviceConfigurationFile) {
            $configuration->read($serviceConfigurationFile);
        }

        // Retrieve list of userland configuration files and read them ...
        $userlandConfigurationFiles = self::retrieveUserlandConfigurationFiles();

        foreach ($userlandConfigurationFiles as $userlandConfigurationFile) {
            $configuration->read($userlandConfigurationFile);
        }

        // Store configuration
        self::$registry->setConfiguration($configuration);

        // Check if debugging is enabled ...
        if (true === self::$registry->getParameter('doozr.kernel.debugging')) {

            // Now add a collector for configuration
            self::$registry->getDebugbar()->addCollector(
                new DebugBar\DataCollector\ConfigCollector(
                    json_decode(json_encode(self::$registry->getConfiguration()->get()), true)
                )
            );
        }

        // Important for bootstrap result
        return true;
    }