This blog post is going to cover how I like to organize code in an event driven manner. Is any one way of organizing game logic better than another, probably no...
You are correct that the order of events matter. Also included event sheets get run first. That's the way the engine processes events. So controlling priority becomes problematic. I wrote my plugin, which taught me a lot of the engine works, which is a very good thing, but I found out you can do the same thing with functions eventhough it doesn't mention it in the documentation.