code: public CompletionStage<Optional<LocalAsyncResult<R>>> callAsync(final SaltClient client, Target<?> target,
                                                                      AuthMethod auth) {
          return callAsync(client, target, auth, Optional.empty());
      }
docs: Calls a execution module function on the given target asynchronously and
  returns information about the scheduled job that can be used to query the result.
  Authentication is done with the token therefore you have to login prior
  to using this function.
  
  @param client SaltClient instance
  @param target the target for the function
  @param auth authentication credentials to use
  @return information about the scheduled job