off(eventName, callback) {
      if (this.events.has(eventName)) {
        this.events.get(eventName).delete(callback);
      }
    }
Triggers all listeners for the specified event.
- Safely handles non-existent events
- Executes each listener in try-catch block
- Continues execution even if one listener fails
- Logs errors without breaking execution

@param {string} eventName - Event to trigger
@param {*} [data] - Optional data for listeners