/** * Init engine. * * @param DIBehaviour|DI $di Dependency Injection. * * @return void */ protected function _initEngine($di) { foreach ($di->get('registry')->modules as $module) { // Initialize module api. $di->setShared(strtolower($module), function () use($module, $di) { return new ApiInjector($module, $di); }); } $di->setShared('transactions', function () { return new TxManager(); }); $di->setShared('assets', new AssetsManager($di)); $di->setShared('widgets', new Catalog()); }