@override Map<String, dynamic> toJson() => { 'type': type, 'id': id, 'name': name, 'input': input, if (caller != null) 'caller': caller, };