Collecting
Accumulates emitted specs into a list for assertion in tests and headless host fixtures. Thread-safe — the underlying list is synchronised so substrate code that emits from background dispatchers can target this sink without coordinating its own marshalling.
Top-level nested (not inside the companion object) so the natural access path is NotificationSink.Collecting() rather than NotificationSink.Companion.Collecting().