Very good article in IEEE Software January/Februry 2006 magazine: Looking for Powerful Abstractions by Rebecca J. Wirfs-Brock "Finding the right level of abstraction takes practice and experimentation. There are times when both concrete classes and their