Convert events to pure JS. Use singleton event manager
Fix controllers and event factory