class Middleman::CoreExtensions::Collections::StepContext

def add_to_context(name, &func)

def add_to_context(name, &func)
  send(:define_method, :"_internal_#{name}", &func)
end

def initialize(app)

def initialize(app)
  @app = app
  @descriptors = []
end

def method_missing(name, *args, &block)

def method_missing(name, *args, &block)
  internal = :"_internal_#{name}"
  if respond_to?(internal)
    send(internal, *args, &block).tap do |r|
      @descriptors << r if r.respond_to?(:execute_descriptor)
    end
  else
    @app.config_context.send(name, *args, &block)
  end
end