Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well. Instead, what makes it effective is the approach to programming, a philosophy of using the computer. Although that philosophy can’t be written down in a single sentence, at its heart is the idea that the power of a system comes more from the relationships among programs than from the programs themselves. Many UNIX programs do quite trivial things in isolation, but, combined with other programs, become general and useful tools. 1
This also applies to object-oriented programming, where the power of a system comes from the messages sent between objects, rather than from the objects themselves.
Keep your objects and programs simple, then combine them into more complex and powerful systems.