LogbackHook.attachToRootLogger();
// TODO: Switch to ServiceLoadDiscovery
Discovery discovery = new ClasspathDiscovery("com.fathomdb.", "io.fathom.");
Extensions extensions = new Extensions(configuration, discovery);
List<Module> modules = Lists.newArrayList();
modules.add(new NullMetricsModule());
modules.add(new DiscoveryModule(discovery));
// modules.add(new ConfigurationModule());
// modules.add(new CacheModule());
// modules.add(new JdbcGuiceModule());
modules.add(new FathomCloudGuiceModule(configuration));
modules.add(new OpenstackServerServletModule(configuration, extensions));
modules.add(new ZookeeperPersistModule());
modules.add(new WinkGuiceModule());
// modules.add(new AnnotationsModule());
Injector injector = extensions.createInjector(configuration, modules);
CloudServer server = injector.getInstance(CloudServer.class);
// server.startZk();
return server;