docs: public static PathFunction newFunction(String name) throws InvalidPathException {
          Class functionClazz = FUNCTIONS.get(name);
          if(functionClazz == null){
              throw new InvalidPathException("Function with name: " + name + " does not exist.");
          } else {
              try {
                  return (PathFunction)functionClazz.newInstance();
              } catch (Exception e) {
                  throw new InvalidPathException("Function of name: " + name + " cannot be created", e);
              }
          }
      }