This particular "XXX" has more to do with StepStatus inventing a step number that's different from that provided by `newStep`, although in most cases they will be the same.  At any rate, the fix is to remove the StepStatus class.

I agree that it makes sense to create steps in advance when possible, but I would like to make it as easy as possible to add dynamic steps later.