T newFactory(Map<String, dynamic> data) => throw UnimplementedError( 'newFactory must be implemented in the child model', );