current_expected is computed after the callback is called. But that is only relevant when the timer jumps. In normal operation, the value is computed incrementally from the time the timer was started.