major state/manager overhaul
forgot resume() on stack change, merged handle_events() and update()