Defer the execution of a function for some number of seconds.

        Args:
            wait (typing.Union[int, float]): A numeric value that represents
                the number of seconds that must pass before the callback
                becomes available for execution. All given values must be
                positive.
            identifier (typing.Any): The identifier returned from a call
                to defer or defer_for.

        Returns:
            bool: True if the call is delayed. False if the identifier is
                invalid or if the deferred call is already executed.

def delay_for(
            self,
            wait: typing.Union[int, float],
            identifier: typing.Any,
    ) -> bool:
        """Defer the execution of a function for some number of seconds.

        Args:
            wait (typing.Union[int, float]): A numeric value that represents
                the number of seconds that must pass before the callback
                becomes available for execution. All given values must be
                positive.
            identifier (typing.Any): The identifier returned from a call
                to defer or defer_for.

        Returns:
            bool: True if the call is delayed. False if the identifier is
                invalid or if the deferred call is already executed.
        """
        raise NotImplementedError()