def check(name = @current_step_name, &block)
      raise "No step name" unless name
      @current_step_name ||= name
      checks << CheckBlock.new("progression_name", name, &block)

      define_method("#{name}?") do
        check = checks.find { |s| s.name == name }
        !! check.run(self)
      end
    end
def check(name = @current_step_name, &block)
      raise "No step name" unless name
      @current_step_name ||= name
      checks << CheckBlock.new("progression_name", name, &block)

      define_method("#{name}?") do
        check = checks.find { |s| s.name == name }
        !! check.run(self)
      end
    end
Create a predicate method for the current step name
 to test if it's complete