@override Map<String, dynamic> toJson() { return { ...super.toJson(), 'soundUrl': soundUrl, if (icon != null) 'icon': icon, }; }