I decoupled the two tings a bit now: LiveDevelopment.js manages a _closeReason that is influenced by the detach events and gets passed along when the status changes to inactive. In main.js, this is then passed to `_showStatusChangeReason` (formerly `_onDetached`).
I added "navigated_away" as a new reason that we generate ourselves.