make KeyValueObserver more easy to use