def define(name, opts = {}, &block)
      klass = opts.fetch(:class, DPLA::MAP::Aggregation)
      parser = opts.fetch(:parser, Krikri::XmlParser)
      parser_args = opts.fetch(:parser_args, nil)
      map = Krikri::Mapping.new(klass, parser, *parser_args)
      map.instance_eval(&block) if block_given?
      Registry.register!(name, map)
    end
def define(name, opts = {}, &block)
      klass = opts.fetch(:class, DPLA::MAP::Aggregation)
      parser = opts.fetch(:parser, Krikri::XmlParser)
      parser_args = opts.fetch(:parser_args, nil)
      map = Krikri::Mapping.new(klass, parser, *parser_args)
      map.instance_eval(&block) if block_given?
      Registry.register!(name, map)
    end
Creates mappings and passes DSL methods through to them, then adds them to
 a global registry.

 @param name [Symbol] a unique name for the mapper in the registry.
 @param opts [Hash] options to pass to the mapping instance, options are:
   :class, :parser, and :parser_args
 @yield A block passed through to the mapping instance containing the
   mapping in the language specified by MappingDSL