def then(body, &setup)
      new_step = WorkflowStep.new
      new_step.body = body

      @workflow_builder.add_step(new_step)
      new_builder = StepBuilder.new(@workflow_builder, new_step)

      if body.kind_of?(Class)
        new_step.name = body.name
      end

      if setup
        setup.call(new_builder)
      end

      new_outcome = StepOutcome.new
      new_outcome.next_step = new_step.id
      new_outcome.value = nil
      @step.outcomes << new_outcome

      new_builder
    end
def then(body, &setup)
      new_step = WorkflowStep.new
      new_step.body = body

      @workflow_builder.add_step(new_step)
      new_builder = StepBuilder.new(@workflow_builder, new_step)

      if body.kind_of?(Class)
        new_step.name = body.name
      end

      if setup
        setup.call(new_builder)
      end

      new_outcome = StepOutcome.new
      new_outcome.next_step = new_step.id
      new_outcome.value = nil
      @step.outcomes << new_outcome

      new_builder
    end
Adds a new step to the workflow

 @param body [Class] the step body implementation class