private function parseConfig()
    {
        // setup the DI layer
        $diClass = $this->config->get(Config::KEY_DI);
        if (class_exists($diClass)) {
            $di = new $diClass();
            if ($di instanceof DiInterface) {
                Di::setDefault($di);
            }
        }
        Di::getDefault()->set(self::KEY_CONFIG, $this->config);
        $this->setupHandlers(
            $this->config->get(Config::KEY_HANDLERS, array())
        );
    }