Map<String, dynamic> toJson() { return { 'description': description, 'messages': messages.map((m) => m.toJson()).toList(), }; }