protected function registerContainerConfiguration(KernelInterface $kernel, ContainerBuilder $containerBuilder, LoaderInterface $loader)
 {
     // Register core services
     $containerBuilder->register("kernel", KernelInterface::class)->setSynthetic(true);
     $containerBuilder->register("event_dispatcher", EventDispatcher::class);
     $containerBuilder->register("kernel.task_collection", TaskCollection::class);
     // Then core compiler passes
     $containerBuilder->addCompilerPass(new RegisterListenersPass())->addCompilerPass(new RegisterTasksPass());
     // Register modules configuration
     foreach ($kernel->getRegisteredModules() as $module) {
         if ($module instanceof SfContainerInitializerModuleInterface) {
             $module->buildContainer($containerBuilder);
             if (null !== ($cont = $module->registerContainerConfiguration($loader))) {
                 $containerBuilder->merge($cont);
             }
         }
     }
 }