Added cleaner KeyValue observation for NSObject