factory GemAnimation.fromJson(final Map<String, dynamic> json) { return GemAnimation._( json['type'], json['duration'], EventDrivenProgressListener.init(json['progress']), ); }