code: def controller(self, *paths, **query_kwargs):
          
          kwargs = self._normalize_params(*paths, **query_kwargs)
          if self.controller_path:
              if "path" in kwargs:
                  paths = self.normalize_paths(self.controller_path, kwargs["path"])
                  kwargs["path"] = "/".join(paths)
              else:
                  kwargs["path"] = self.controller_path
          return self.create(self.root, **kwargs)
docs: create a new url object using the controller path as a base
  
          if you have a controller `foo.BarController` then this would create a new
          Url instance with `host/foo/bar` as the base path, so any *paths will be
          appended to `/foo/bar`
  
          :example:
              # controller foo.BarController
  
              print url # http://host.com/foo/bar/some_random_path
  
              print url.controller() # http://host.com/foo/bar
              print url.controller("che", boom="bam") # http://host/foo/bar/che?boom=bam
  
          :param *paths: list, the paths to append to the controller path
          :param **query_kwargs: dict, any query string params to add