Project Persistence
Sometimes after a step is entered and project.current_step
is set it saves the project right away before performing the step, other times it executes the step and then saves the project.
I would imagine that this would mean if the step failed and the user tried to recover they would be placed back in the previous step. Since that previous step is persisted it should just rehydrate it from the DB and retry, but interesting to note that behavior may not be consistent.