A lightweight inversion-of-control framework for iOS