Category over NSObject for automatic KVO observers removal on dealloc as well as KVO-triggered callbacks