Trigger Arguments
If a predicate/event type needs to take arguments, those arguments must be implemented as a subclass of TriggerArguments.
It is typically recommended to implement this as a data class to ensure proper interfacing with the API.
Warning
DO NOT include any members in the body of the class. They will not be initialized. Instead, include any extra data in the state of your type.
If you need an argument that is not one of the provided input widget types, then you need to implement and register your own input widget.