def METHOD_NAME(self, fn, *args, **kwargs) -> Future:
    """Submits a callable to be executed with the given arguments.
    Schedules the callable to be executed as fn(*args, **kwargs) and returns
    a Future instance representing the execution of the callable.
    Returns:
        A Future representing the given call.
    """
    if hasattr(self, "_limiter"):
        fn = self._limiter.wrap(fn)
    future = self._submit(fn, *args, **kwargs)
    self._futures.append(future)
    return future