public function install(IOInterface $io, $packageName) { $io->write('[Keeko] Install Module: ' . $packageName); $package = $this->getPackageSchema($packageName); $keeko = $package->getKeeko(); if ($keeko->isModule()) { $pkg = $keeko->getModule(); // create module $model = new Module(); $model->setClassName($pkg->getClass()); $model->setSlug($pkg->getSlug()); $this->updatePackage($model, $pkg); // run module -> install (moved to activate()) // $className = $pkg->getClass(); // $class = new $className($model, $this->service); // $class->install(); $this->dispatcher->dispatch(ModuleEvent::INSTALLED, new ModuleEvent($model)); } }