The key to managing complexity is to focus on the interfaces between components, not their implementations.