public function bootstrap()
    {
        $this->registerBootstrapArguments();
        $this->registerEventDispatcher();
        $this->registerConfigLoader();
        $this->registerConfig();
        $this->registerPlugins();
        $this->registerTaskDispatcherCollection();
        $this->registerLogger();

        // phs: Ensure plugin container is build an all plugins are initialized
        $this->getContainer()->plugins();

        $this->getContainer()
            ->events()
            ->dispatch(
                BootstrapFinishedEvent::EVENT_NAME,
                new BootstrapFinishedEvent($this->getContainer())
            );

        return $this->getContainer();
    }