code: def trigger(self, event_name: str, **kwargs):
      all_kwargs = self._extra_kwargs()
      all_kwargs.update(kwargs)
  
      handlers = self._handlers.get(event_name, [])
      for handler in handlers:
          try:
              handler(**all_kwargs)
          except Exception:  # noqa
              # TODO catch errors on handler invocation (nice-to-have)
              logger.warning(
                  f"Failed to run callback '{handler.__name__}'."
              )
              logger.warning(traceback.format_exc())
  
file_path: aim/aim/sdk/callbacks/caller.py
imports: import logging
  import inspect
  import traceback
  from collections import defaultdict
  from typing import Callable, List, Optional, Dict, Any
  from aim.sdk.callbacks.helpers import handles_events, get_handler_event_names
label_desc: Use image node_id 5 for calling the Caller obj's underlying member method code with example usage: obj.trigger(event_name) without return types