code: def _wake_up_timer(self, kill_event):
          
  
          while True:
              prev = self._wake_up_time
  
              # Waiting for the event returns True only when the event
              # is set, usually by the parent thread
              time_to_die = kill_event.wait(float(max(prev - time.time(), 0)))
  
              if time_to_die:
                  return
  
              if prev == self._wake_up_time:
                  self.make_callback(kind='timer')
              else:
                  print("Sleeping a bit more")
docs: Internal. This is the function that the thread will execute.
          waits on an event so that the thread can make a quick exit when close() is called
  
          Args:
              - kill_event (threading.Event) : Event to wait on