Refactored Event system, added a MessageRouter which observers can subscride to. Events are now collected and all processed at the end of the frame update.