Fix: Use KVO Context in observeValueForKeyPath: