We can use `Event`s, `Queue`s, or `Atomic*` to coordinate the concurrent parts. As @rkday already did in #212.