Because the CAD concept in general is build around parameterisation every modification the user makes needs to be able to be remade with on a different starting (or previous) state. In a way it becomes even more then a first class citizen functionality in the application. The entire history stack (timeline) is available and you can even directly edit, reorder or modify individual steps and their parameters instead of just un/redoing them.