Let me add a few more examples. Maybe you'll see what I'm trying to say.
If you have a NPC character. When the player approaches the NPC, the name of the NPC appears directly above the NPC. You can bind this logical event to that NPC. ).
Then you will consider that each NPC will have a different type. For example, in a store, the task NPC, plot NPC, corresponds to a different event trigger for each type.
At this point you can clone the original NPC and then trigger for different events to modify their respective binding to their own event code.
Of course, it is now possible to do so directly with the event table. Filter out different NPC types through NPC's own variables, such as name, and then execute different behavior codes. Yes, you can do that, and that's the operational logic of C3.