class_docstr: Implementation of a message broker (Pubsub stands for publish and subscribe).
class_docstr_tok: ["Implementation","of","a","message","broker","(","Pubsub","stands","for","publish","and","subscribe",")","."]
docstr: Notify about a new event. This is invoked by the EventService.
  
  :param event The event to be added.
docstr_tok: ["Notify","about","a","new","event",".","This","is","invoked","by","the","EventService",".",":","param","event","The","event","to","be","added","."]
code: def notify_event(self, event: EventRecord) -> None:
      """
      Notify about a new event. This is invoked by the EventService.
  
      :param event The event to be added.
      """
      for subscriber in self.interface_to_subscribers[
          event.interface_class
      ]:
          subscriber.notify_event(event)
  
file_path: maze/maze/core/events/pubsub.py
imports: import inspect
  from abc import ABC, abstractmethod
  from typing import Callable, List, Iterable, Dict, Union, Type, TypeVar
  from maze.core.events.event_collection import EventCollection
  from maze.core.events.event_service import EventScope, EventRecord, EventService
label_desc: Use image node_id 5 for calling the Pubsub obj's underlying member method code with example usage: obj.notify_event(event) without return types