I don't like that KVO routes all changes to the same observeValueForKeyPath:ofObject:change:context: method. At the moment I have a large tree of if statements sending these "observations" to different methods.
Is there already a way to specify a different selector for each addObserver: call?
Otherwise, I was thinking of creating a class "Observation", each instance of which would be initialised with a selector and then act as the KVO observer.