def METHOD_NAME(
    self,
    callback: Callable,
    event_type: str,
    event_filter: dict = {},
) -> None:
    listener = EventListener(callback, event_filter)
    if event_type in self._listeners:
        self._listeners[event_type].append(listener)
    else:
        self._listeners[event_type] = [listener]
    def remove_listener() -> None:
        self._remove_listener(event_type, listener)
    return remove_listener