code: def register_event(self, direction, verb, child_fn, priority=10):
          
          event_managers = []
          if direction in ('in', 'both'):
              event_managers.append(self._events_in)
          if direction in ('out', 'both'):
              event_managers.append(self._events_out)
          if direction == 'girc':
              event_managers.append(self._girc_events)
  
          for event_manager in event_managers:
              event_manager.register(verb, child_fn, priority=priority)
docs: Register an event with all servers.
  
          Args:
              direction (str): `in`, `out`, `both`, or `girc`.
              verb (str): Event name, `all`, or `raw`.
              child_fn (function): Handler function.
              priority (int): Handler priority (lower priority executes first).
  
          Note: `all` will not match `raw` events. If you wish to receive both
          `raw` and all other events, you need to register these separately.