NSKeyValueObserving: supposedly, removed deadlock caused by adding observer while removing observer inside observeValueForKeyPath on another thread (kvoLock+iLock vs. iLock+kvoLock+iLock)