def match_country( value )
    if value =~ /^country:/       # country:
      country_key = value[8..-1]  # cut off country: prefix
      country = WorldDb::Model::Country.find_by_key!( country_key )
      yield( country )
      true # bingo - match found
    else
      false # no match found
    end
  end
def match_country( value )
    if value =~ /^country:/       # country:
      country_key = value[8..-1]  # cut off country: prefix
      country = WorldDb::Model::Country.find_by_key!( country_key )
      yield( country )
      true # bingo - match found
    else
      false # no match found
    end
  end
todo/check: add to pair of matchers??
 e.g. match_country and match_country!
  - match_country will use find_by_key and match_country will use find_by_key! - why? why not?