code: @Nonnull
    public static final AjaxFunctionDeclaration addAjax (@Nullable final String sPrefix,
                                                         @Nonnull final IAjaxExecutor aExecutor)
    {
      // null means random name
      final String sFuncName = StringHelper.hasText (sPrefix) ? sPrefix + AjaxFunctionDeclaration.getUniqueFunctionID ()
                                                              : null;
      final AjaxFunctionDeclaration aFunction = AjaxFunctionDeclaration.builder (sFuncName)
                                                                       .withExecutor (aExecutor)
                                                                       .build ();
      GlobalAjaxInvoker.getInstance ().getRegistry ().registerFunction (aFunction);
      return aFunction;
    }
docs: Add a per-page AJAX executor, with an automatically generated name. It is
  automatically generated with the global AjaxInvoker.
  
  @param sPrefix
  Function name prefix. If one is provided, this will be used as URL
  name so only limited chars are allowed.
  @param aExecutor
  The executor to be executed. May not be <code>null</code>.
  @return The create {@link AjaxFunctionDeclaration} to be invoked.