def METHOD_NAME(self, callback: Callable[[], typing.Any]) -> int:
    """
    Add a callback for entering idle.
    Returns a handle that may be passed to remove_enter_idle()
    """
    # XXX there's no such thing as "idle" in most event loops; this fakes
    # it by adding extra callback to the timer and file watch callbacks.
    self._idle_handle += 1
    self._idle_callbacks[self._idle_handle] = callback
    return self._idle_handle