"If it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck." The Duck test
"If it looks like a duck and quacks like a duck but it needs batteries, you probably have the wrong abstraction." Derick Bailey
"Composition over inheritance (or composite reuse principle) in object-oriented programming is the principle that classes should achieve polymorphic behavior and code reuse by their composition (by containing instances of other classes that implement the desired functionality) rather than inheritance from a base or parent class." Wikipedia