LogoutCommandState is a ServiceContext decoration that stores an atomic bool used to track whether logout has been called. logout uses this to emit deprecation warnings.
Decorations are powerful but complicated. We should replace all of this with a magic static std::once_flag and a call to std::call_once.