Composition Versus Subclassing