factory fromJson(Map<String, dynamic> data) => switch (data[Task.keyType]) { QuestionnaireTask.taskType => QuestionnaireTask.fromJson(data), _ => throw UnknownJsonTypeError(data[Task.keyType]), };