code: def add_step(self, step, step_id):
          
          assert step_id not in self._steps
          assert step_id not in self._order
          assert isinstance(step, Step)
  
          self._steps[step_id] = step
          self._order.append(step_id)
docs: Add a step to the list. The first step added becomes the initial
          step.