"To overcome most issues we can use Dependency Injection (DI). Swapping in a new implementation becomes much easier as components don't rely on a single shared instance but on protocols that can be implemented in different ways. This promotes flexibility, easier testing, and adaptability as app requirements evolve."