Map[((String,String),Long] is a pretty awkward signature. I wonder if we'd be better off with Map[String,Long], and just use a period or something other character to separate the counter group and name.