While working with an incomplete object API with implementation mistakes, we often have to decide when adding a new class if we're doing an IS A or a HAS A interface. The distinction is most useful.

Wade.