For frameworks, configuration by method call is not as big of a deal, but for hand-written classes it is a good thing to keep the generic type declaration and key/value class/type/schema declaration in the same place ??? JobConf will not tell you at compile time that you have screwed it up and misaligned types in your Map.