The test failure discovered two problems:
1. If health checking is disabled, and then re-enabled quickly enough a scheduled check from the previous cycle that remains in the queue will be duplicated by another one. The logic to keep a scheduled check in the queue when disabled was supposed to be correct because when the time is due, the logic checks the enabled flag before doing anything
2. When health checking is re-enabled it will happen in-line. Instead, it should be scheduled and return immediately.