A channel carrying one run's events, together with the Reporter that fills it.
The two are one thing in practice — every caller attaches reporter to the run and reads
stream — so they are handed over together rather than paired up at each call site.
The run's event feed: build() opens one, buildReporter() is the adapter inside it.
A namespace rather than two loose exports, so a call site says which subject it is reaching
for — EventsChannel.build() next to APIReporter, the other half of this module.
EventsChannel.build().buffered; // 0 — nothing emitted yet