docs: def _on_timeline_update(self, event):
          """Timeline update broadcast from Abode SocketIO server."""
          if isinstance(event, (tuple, list)):
              event = event[0]
  
          event_type = event.get('event_type')
          event_code = event.get('event_code')
  
          if not event_type or not event_code:
              _LOGGER.warning("Invalid timeline update event: %s", event)
              return
  
          _LOGGER.debug("Timeline event received: %s - %s (%s)",
                        event.get('event_name'), event_type, event_code)
  
          # Compress our callbacks into those that match this event_code
          # or ones registered to get callbacks for all events
          codes = (event_code, TIMELINE.ALL['event_code'])
          all_callbacks = [self._timeline_callbacks[code] for code in codes]
  
          for callbacks in all_callbacks:
              for callback in callbacks:
                  _execute_callback(callback, event)
  
          # Attempt to map the event code to a group and callback
          event_group = TIMELINE.map_event_code(event_code)
  
          if event_group:
              for callback in self._event_callbacks.get(event_group, ()):
                  _execute_callback(callback, event)