Map<String, dynamic> toMap() { return <String, dynamic>{ 'gt': gt, 'challenge': challenge, 'success': success, }..removeWhere((key, value) => value == null); }