private function loadExecutorComponent(array $config, ContainerBuilder $container, LoaderInterface $loader)
    {
        $loader->load('executor/' . $config['type'] . '.xml');
        $container->setAlias('task.executor', 'task.executor.' . $config['type']);

        if (!array_key_exists($config['type'], $config)) {
            return;
        }

        foreach ($config[$config['type']] as $key => $value) {
            $container->setParameter('task.executor.' . $key, $value);
        }

        if (!file_exists($container->getParameter('task.executor.console_path'))) {
            throw new InvalidConfigurationException(
                'Console file does not exists! Given in "task.executor.seperate.console".'
            );
        }
    }