Returns a new map with null keys or values removed
Map<String, dynamic> get nullProtected => {...this}..removeWhere((String key, value) => value == null);