factory Question.fromJson(Map<String, dynamic> data) { return questionTypes[data[keyType]]!(data) as Question<V>; }