I remember reading an article by Grady Booch a couple of years ago (I can't find it now) where he acknowledged that object oriented programming had not delivered many of the promises around object reuse that people had expected, however one of the unexpected