docs: def emit_event(self, event):
          """Emit the specified event (notify listeners)"""
          with self._lock:
              listeners = list(self._event_listeners)
  
          for cb in list(self._event_listeners):
              # noinspection PyBroadException
              try:
                  cb(event)
              except:
                  # Don't let exceptions from callbacks kill our thread of execution
                  logger.exception("Event callback resulted in unhandled exception")