The key to solving complex problems is often to find the right abstraction that simplifies the problem without losing its essential features.