public function connect(Application $app)
 {
     $controllers = new ControllerCollection();
     $supervisor = new API();
     $servers = (include __DIR__ . '/../../config.php');
     foreach (array_keys($servers) as $server_id) {
         $servers[$server_id]['id'] = $server_id;
     }
     $controllers->get('/list.{_format}', function ($_format) use($supervisor, $app, $servers) {
         if ($_format == 'json') {
             return $app->json($servers);
         } else {
             // use a closure to avoid leaking any vars into the template that we don't explicitly want
             return call_user_func(function () use($app) {
                 $url_root = $app['url_generator']->generate('home');
                 ob_start();
                 ob_implicit_flush(false);
                 include __DIR__ . '/../../views/supervisorui.html.php';
                 return ob_get_clean();
             });
         }
     })->bind('server_list')->value('_format', 'html');
     $controllers->get('/details/{server_id}', function ($server_id) use($supervisor, $app, $servers) {
         $server_ip = $servers[$server_id]['ip'];
         $details = array_merge(array('version' => $supervisor->getSupervisorVersion('127.0.0.1'), 'pid' => $supervisor->getPID('127.0.0.1')), $supervisor->getState('127.0.0.1'), $servers[$server_id]);
         return $app->json($details);
     });
     return $controllers;
 }