AttachedMonitor
Handle to a live monitor subscription.
Returned by BackgroundTaskManager.attachMonitor(...). Call detach to stop delivering events to the monitor without cancelling the surrounding kotlinx.coroutines.CoroutineScope; or let the surrounding scope cancel naturally (e.g. ViewModel teardown) and the subscription tears down with it. detach is idempotent — repeat calls are no-ops.
isActive mirrors the underlying collector coroutine's job — false means the subscription has been detached or the parent scope was cancelled.