NewClock now takes the channel to send expired tasks to
Rewrite the naive Clock implementation