Since it is a loop it tests the value after `Navigation.forward()` anyway. The reason to place it before is to test the boundary case (i.e. first step) and to make it more readable, i.e. if step is 1, the progress bar should have state 0.