Disposed callback always removes binding watches - helps prevent memory leaks.