Text this: A critical view of inheritance and reusability in object-oriented programming /