Simplify timers by allowing stateless clocks to be passed as parameters