Preparing to implement some major core game structures

I'm setting up a GameEvent system that will be a pretty big deal. It
will allow the AI and humans to interact with the game in a structured
way, there will be game events for talking, questions, quests,
attacking, buying, looting, etc..