When edit-mode is set to true and a step is dynamically enabled/disabled by binding wzdisable, the step will not be set to completed when it becomes enabled.
There are 2 options to fix this in my opinion:
a. Modify $scope.$watch('[editMode, steps.length]' ... to also watch the length of the result of the function call to getEnabledSteps()
b. Modify $scope.$watch('[editMode, steps.length]' ... to not loop through the enabled steps but simply through all the steps.
The more logical choice in my opninion is the second one because in my opinion, when I set edit mode to true, I want all steps in the completed state the moment they are available.