Instead of constantly checking whether the delegate model is a different model whenever its attributes change (to determine whether to stop proxying its events to the delegating model), only stop listening to delegate model on its destroy event.