replace wonky registration predicates with CountDownLatch
fix async.CountDownLatch and registration_latch