Read post Swift dependency injection design pattern.

Dependency injection means giving an object its instance variables. Really. That’s it.