Rewrite timers to use lock-free approach