Test that observer dealloc does not trigger did change callback
Fix dealloc triggered callbacks for single key key paths
Break out observer dealloc condition and comment