def METHOD_NAME(self, time, priority, action, argument=(), kwargs=_sentinel):
    """Enter a new event in the queue at an absolute time.
    Returns an ID for the event which can be used to remove it,
    if necessary.
    """
    if kwargs is _sentinel:
        kwargs = {}
    event = Event(time, priority, action, argument, kwargs)
    with self._lock:
        heapq.heappush(self._queue, event)
    return event # The ID