Hm, what about writing this like
```
var isAtStep = isStep();
if (!isAtStep) {
   isAtStep = previousStep();
}
return isAtStep;
```
At least needs less twisting in my brain, because isAtStep always reflects the current state.