Call a method on another process after a specified delay.

    This is equivalent to ``dispatch`` except with an additional amount of
    time to wait prior to invoking the call.

    This function returns immediately.

    :param amount: The amount of time to wait in seconds before making the call.
    :type amount: ``float`` or ``int``
    :param pid: The pid of the process to be called.
    :type pid: :class:`PID`
    :param method: The name of the method to be called.
    :type method: ``str``
    :return: Nothing

def delay(self, amount, pid, method, *args):
    """Call a method on another process after a specified delay.

    This is equivalent to ``dispatch`` except with an additional amount of
    time to wait prior to invoking the call.

    This function returns immediately.

    :param amount: The amount of time to wait in seconds before making the call.
    :type amount: ``float`` or ``int``
    :param pid: The pid of the process to be called.
    :type pid: :class:`PID`
    :param method: The name of the method to be called.
    :type method: ``str``
    :return: Nothing
    """
    self._assert_started()
    self._assert_local_pid(pid)
    function = self._get_dispatch_method(pid, method)
    self.__loop.add_timeout(self.__loop.time() + amount, function, *args)