How to properly detach VR states?

As far as app states go, I make the pretty general assumption that if an app state does not extend BaseAppState that it automatically must have some lifecycle bugs.

It’s certainly possible to mess up lifecycle when subclassing BaseAppState but usually those extending BaseAppState are already thinking about lifecycle (which is the main reason to use it) and those who directly implement AppState or extend the thin AbstractAppState are not thinking beyond “attach”.