I believe this will inject non-determinism ... notifications will be capable of interleaving and being out of order.

I think we need to combine this with `ScheduledObserver` which maintains a queue and event loop for handling each notification sequentially on the given scheduler.