Hugo, I’m guessing that later on, months or a year from now, you’ll be glad if the action of closing an active object - your TEO - is controlled in one place instead of having to visit all the possible places to change it - see the list of possible triggers Jim just pointed out.
When you get into a situation where you have to fix someone else’s, or your own, program and you find yourself having to look at every control to find where it’s misbehaving, you might be thinking, “Gee I could have put that action in a procedure and just called that procedure from all those triggers. That way, if the action needs to be changed, I only have to change it in one spot.”
A related example was a request to change a person’s business address. So simple. Just go to where the address is stored and modify it there. But noooooo. Not that simple. The person had put the address in three different places and in three different forms (Fix Text - label, TextEdit Object, and Flash Art). There were about 26 forms and they all had to be visited to see if they contained the address and in what format. The “Just change xxx to yyy” was a little more time-consuming than expected.
So instead of having all those triggers do an “action”, consider putting the action code (close the active object) in one place and just call that action with the various triggers. If you need more flexibility, You can condition the action with a CASE statement for each trigger.