A powerful convention over configuration driven dependency injection framework for Objective-C