/** * Create a Slicer instance. * * @return Slicer */ public function createSlicer() { $config = Factory::createConfig(); $slicer = new Slicer(); $slicer->setConfig($config); $slicer->setEventDispatcher(new EventDispatcher()); $slicer->setEventDispatcher($slicer->getEventDispatcher()); $slicer->setUpdateManager(new UpdateManager($config)); $slicer->setDownloadManager(new DownloadManager($config)); $slicer->setBackupManager(new BackupManager($config)); $slicer->setInstallationManager(new InstallationManager($config)); $slicer->getUpdateManager()->setDownloadManager($slicer->getDownloadManager())->setEventDispatcher($slicer->getEventDispatcher()); $slicer->getDownloadManager()->setEventDispatcher($slicer->getEventDispatcher()); $slicer->getBackupManager()->setEventDispatcher($slicer->getEventDispatcher()); $slicer->getInstallationManager()->setEventDispatcher($slicer->getEventDispatcher()); return $slicer; }