code: public <C extends Controller> AbstractModule controller(Class<C> klass) {
          String name = klass.getName();
          JSClosure constructor = JSClosure.create(new DefaultControllerConstructor<C>(name, klass));
          ControllerDependencyInspector inspector = GWT.create(ControllerDependencyInspector.class);
          JSArray<String> dependencies = JSArray.create(inspector.inspect(klass));
          dependencies.unshift("$scope");
          ngo.controller(name, dependencies, constructor);
          return this;
      }
docs: Registers a controller component with the module. The name of the
  component is derived from the class name, e.g.
  <pre>
  // Derived name is "com.example.MyController".
  controller(com.example.MyController.class);
  </pre>
  
  @param klass Controller type.