1999, Andrew Hunt, David Thomas, The Pragmatic Programmer: From Journeyman to Master, Addison-Wesley Professional, →ISBN, page 36:
If components have specific, well-defined responsibilities, they can be combined with new components in ways that were not envisioned by their original implementors.