Model-View-ViewModel, using ReactiveCocoa