A new way to observing KVO changes in Objective-C