Basically largish development teams write code as individuals. They don't generally know what classes johnny has to do what and in the end it just seems easier to write your own. Or you hear about someones class that does something and you want to change it to do something else, You spend the...