The key to managing complexity is to focus on the interfaces between components, not their implementations.
We may encounter many defeats but we must not be defeated.