tearDown old state when changing current state
states have to opt-in and configure world