Cleanse
Lightweight Swift Dependency Injection Framework
... application's object graph. The entry point into managing your dependencies with Cleanse starts by defining a "Root" object that is returned to you upon construction. In a Cocoa Touch application, our root object could be the rootViewController object we set on the application's UIWindow. (More logically the root object is the App Delegate, however, since we don't control the construction of that we would have to use Property Injection.