@override Map<String, dynamic> toMap() { final map = { "action": action, "title": title, }; if (icon != null) { map['icon'] = icon!; } return map; }