Convenience stream — only emits on online/offline flips.
Stream<bool> get isOnlineStream => stateStream.map((s) => s.isOnline).distinct();