ReactiveCocoa design patterns