> When the class is private, that means it's there for code reuse, not to express a hierarchy of concepts.

I don't think, personally, that classes should ever be used to express
hierarchy of concepts :). I think that they are always meant to simply
make code simpler.