Do you mean that the `running.get()` condition is superfluous?

My reasoning here was exactly that the race condition is irrelevant due to `completed` increasing atomically at most once per observer.