KVOController

Key-value observing is a particularly useful technique for communicating between layers in a Model-View-Controller application. KVOController builds on Cocoa's time-tested key-value observing implementation. It offers a simple, modern API, that is also thread safe. Benefits include:
 * Notification using blocks, custom actions, or NSKeyValueObserving callback.
 * No exceptions on observer removal.
 * Implicit observer removal on controller dealloc.
 * Thread-safety with special guards against observer resurrection – rdar://15985376.