def before(name, &block)
        before_steps[name] ||= EMPTY_ARRAY.dup
        before_steps[name] << Step.new(type: :before, name: name, executor: block)
        before_steps[name].sort_by!(&:path)
        self