I'm not sure I understand the value of having so many different collections of steps.  Seem it should just be a list of *steps* that are executed in order.  The first step could be an initialization step and the last could be a finalization step.