Convert event to a map for serialization Override in subclasses to include event-specific data
@override Map<String, dynamic> toMap() { final map = super.toMap(); map.addAll(getEventData()); return map; }