Map<String, dynamic> get toJson { try { return json.decode(this) as Map<String, dynamic>; } catch (e) { return {}; } }