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...
How can you handle a situation where where you want to control the priority of your messages? for example lets say i have objects A and B which both are listening for trigger X, what happens when you want object B to consume that event first. does that just rely in the event sheet order? as to which one gets executed first?
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.