Added events and quest support

Events and quests are supported now. Tried to follow the current code style and architecture as close as possible. Will add QuestUpdateListener soon.