then once the update has completed the timer is recalculated (that way the wait is accurately calculated again AFTER all potentially time-consuming code has been run).