class Middleman::CoreExtensions::Collections::StepContext

def self.add_to_context(name, &func)

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

def initialize

def initialize
  @descriptors = []
end

def method_missing(name, *args, &block)

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