Why isn't observeValueForKeyPath: being called?
===

Is it normal that `observeValueForKeyPath:ofObject:change:context:` doesn't get called with a setup like this?

in the firstObject with property `selectedThing`:

    [controller addObserver: controller forKeyPath: @"representedObject" options: 0 context: nil];
    [controller bind: @"representedObject" toObject: self withKeyPath: @"selectedThing" options: nil];
    	

in the controller object with property `representedObject`:

    - (void)someMethod
    {
    	[firstObject willChangeValueForKey: @"selectedThing"];
    	//change selectedThing
    	[firstObject didChangeValueForKey: @"selectedThing"];
    }

}

Adding `[self willChangeValueForKey: @"representedObject"];` and `[self didChangeValueForKey: @"representedObject"];` seems to work but is that the best way or are there other things I'm missing out on?