Use doneCh like @dadgar suggested in the original PR. Thoroughly test hook as concurrent Update calls make for a tricky concurrency problem.
Still more testing to do, but I want to get this panic fixed ASAP. All new tests pass with -race