@Override
 public Iterable<? extends Module> spawnModules() {
   List<Module> modules = Lists.newArrayList();
   Collection<Class<? extends Module>> modulesClasses = pluginsService.modules();
   for (Class<? extends Module> moduleClass : modulesClasses) {
     modules.add(createModule(moduleClass, settings));
   }
   modules.addAll(pluginsService.modules(settings));
   return modules;
 }
  @Override
  protected void configure() {
    bind(PluginsService.class).toInstance(pluginsService);

    Collection<Class<? extends Module>> modules = pluginsService.modules();
    for (Class<? extends Module> module : modules) {
      createModule(module, settings).configure(binder());
    }
  }