Our triggers are currently essentially stateless - their only state is the action (= the function to call).
This is not convenient when one wants to register multiple triggers calling the same function (see also D3903), which is particularly useful for range triggers (and will be useful in general with more complex triggers).
This makes functions appropriately forward the event data, the custom data, and the trigger data, so that client code can do their thing.