def cache_config
    @cached = {}

    @lookup.reverse.each do |c|
      c.each {|k, v| @cached[k] = config_merge(@cached[k] || {}, v) }      
    end
  end
def cache_config
    @cached = {}

    @lookup.reverse.each do |c|
      c.each {|k, v| @cached[k] = config_merge(@cached[k] || {}, v) }      
    end
  end
Merges configs such that those earlier in the lookup chain override those
 later in the chain.