factory View.fromJSON(Map<String, dynamic> data) { return View( (data["map"] as String), reduce: (data["reduce"] as String?), ); }