private function registerServices()
 {
     $this['db'] = $this->share(function ($app) {
         return DriverManager::getConnection(array('driver' => 'pdo_mysql', 'host' => $app['db_host'], 'dbname' => $app['db_name'], 'user' => $app['db_user'], 'password' => $app['db_password']));
     });
     $this['project_list'] = $this->share(function () {
         return new ProjectList();
     });
     $this['run_storage'] = $this->share(function ($app) {
         return new MysqlStorage($app['db'], __DIR__ . '/../../../data/output_files');
     });
     $this['workspace'] = $this->share(function ($app) {
         return new Workspace($app['project_list'], $app['run_storage']);
     });
     $this['template_loader'] = $this->share(function ($app) {
         $loader = new TemplateLoader();
         $loader->addDirectory(__DIR__ . '/../../../assets/templates');
         return $loader;
     });
     $this->extend('twig', function ($twig, $app) {
         $twig->addExtension(new DateExtension($app['translator']));
         $twig->addExtension(new \Twig_Extension_StringLoader());
         return $twig;
     });
     $this->extend('form.extensions', function ($extensions, $app) {
         $extensions[] = new BehatLauncherExtension();
         return $extensions;
     });
 }