The timer is just an accumulator.
It's ok that `update` is called as much as possible. If no new events need to be played, there's no performance penalty.