// Attach the listener
    $eventsManager->attach('dispatch', new ControllersListener($di));
    return $dispatcher;
});
/**
 * Set the timeService
 */
$di->setShared('timeService', function () use($config) {
    return new TimeService($config->timeService->toArray());
});
/**
 * Set the User Service
 */
$di->setShared('user', function () use($config, $di) {
    $user = new UserService($config->user->toArray());
    $user->setDi($di);
    $eventsManager = $di->get('eventManager');
    // Set the event manager for user service
    $user->setEventsManager($eventsManager);
    // Attach the listener
    $eventsManager->attach('user', new AuthListener());
    return $user;
});
/**
 * Set the Asset manager
 */
$di->setShared('assetManager', function () use($config) {
    return new AssetManager($config->assetManager->toArray());
});
// Set the Widget manager
$di->setShared('widget', function () use($config, $di) {