Let's say further down our list of events we have a "Call Function" Action next to an event.
But we check for the Function before that Event. We check "On Function" in our Event List above "Call Function".
Now in one Tick, we check the Event List from top to bottom.
The first time the Event "On Function" is checked, it is ignored.
Now when the Event (containing the "Call Function) itself is actually checked, it will first perform all Actions for that Event, until the Action "Call Function" is encountered. If it encounters "Call Function" in the Actions list of an Event, it will stop reading Actions after this and instead check all Events from top to bottom again for "On Function" with the same name. And it will execute all of the Actions for those Events first.
When it is finished doing so, it will continue reading the Actions from the Event in which "Call Function" was just executed.
Am I right?
I think this checking behaviour is pretty important to know to use the Function Object properly and avoid unwanted results. It should be noted in the documentation. I only noticed this because something strange was happening, and I am constantly running with a very low Fixed Framerate to check what my code is doing, how exactly it is being checked and run. But I imagine if it runs faster, and things are harder to see, the processes going on, and their order are often harder to understand, if something is just seen for 16ms (in the case of 60 FPS). That could lead to bugs, that You later can't understand.
The way the Events are checked in one Tick should always be clear to the user to avoid confusion.