@override Object toJson () { return { 'type': type.value, 'components': components.map((ComponentBuilder component) => component.toJson()).toList() }; }