public static synchronized ClusterController getClusterController() {
    if (controller == null) {
      try {
        Class<?> implClass = Class.forName(PROVIDER_MODULE_CLASS);
        ProviderModule providerModule = ViewProviderModule.getViewProviderModule((ProviderModule) implClass.newInstance());
        controller = new ClusterControllerImpl(providerModule);

      } catch (Exception e) {
        throw new IllegalStateException("Can't create provider module " + PROVIDER_MODULE_CLASS, e);
      }
    }
    return controller;
  }
Temporary class to bootstrap a cluster controller.  TODO : Replace this global state with injection.
ambari-server/src/main/java/org/apache/ambari/server/controller/utilities/ClusterControllerHelper.java