Perhaps we should break out at first failed match rather than continuing through the array?

`
def self.default_match
  @defaults.find do |default|
    default.all? do |key, values|
      case key
        when :feature
          feature_match(values)
        else
          fact_match(key, values)
      end
    end
  end
end`