Changes to make sure the delay in the queue remains constant while inserting into the task queue.
This is what we do in the PriorityScheduledExecutor.  I do feel it is a bit awkward, hacky, and complicated.  So I would like to improve this in the future, but this seems to be at least technically correct.
I also made the ClockWrapper instance based instead of static, that way we will have less contention and interaction from possible multiple instances.
More consistent naming with the clock class, using accurateTimeMillis instead of just accurateTime