Major overhaul to architecture
Improved event queue abstraction. Implemented drag events