Yes, that’s clear – if you don’t adhere to the object oriented principle of encapsulation. Which means – you can’t use private or fileprivate access modifiers in this case. You have to keep the model data internal or public – which is not good. If you work alone one the project then you can handle this, but imagine 20 developers working on the same project. I think there are better solutions for the massive view controller problem. Extensions are not ment for solving this kind of problem. Maybe you try to look at MVVM and dependency injection. But it’s good that you are thinking about it and understood the problem.