def create_path_transformer(parts)
      lambda do |input_params|
        input_params = input_params.dup

        url = parts.map do |part|
          val = if has_binding?(part)
            # Get the
            binding, _ = binding_extract(part)
            input_params.delete(binding)
          else
            part
          end

          val
        end.join('/')

        return '/' + url, input_params
      end
    end
def create_path_transformer(parts)
      lambda do |input_params|
        input_params = input_params.dup

        url = parts.map do |part|
          val = if has_binding?(part)
            # Get the
            binding, _ = binding_extract(part)
            input_params.delete(binding)
          else
            part
          end

          val
        end.join('/')

        return '/' + url, input_params
      end
    end
Takes in url parts and returns a proc that takes in params and returns
 a url with the bindings filled in, and params with the binding params
 removed.  (So the remaining can be added onto the end of the url ?params1=...)