/**
  * 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());
 }