code: func RegisterController(c interface{}, methods []*MethodType) {
  	// De-star the controller type
  	// (e.g. given TypeOf((*Application)(nil)), want TypeOf(Application))
  	elem := reflect.TypeOf(c).Elem()
  
  	// De-star all of the method arg types too.
  	for _, m := range methods {
  		m.lowerName = strings.ToLower(m.Name)
  		for _, arg := range m.Args {
  			arg.Type = arg.Type.Elem()
  		}
  	}
  
  	// Fetch module for controller, if none found controller must be part of the app
  	controllerModule := ModuleFromPath(elem.PkgPath(), true)
  
  	controllerType := AddControllerType(controllerModule, elem, methods)
  
  	controllerLog.Debug("RegisterController:Registered controller", "controller", controllerType.Name())
  }
docs: // RegisterController registers a Controller and its Methods with Revel.