If I have various controllers loaded via routing/ng-view and some of those controllers set watches, am I responsible for unregistering these watches during every route change? Or does angular already take care of that for me via the normal controller life-cycle??
Regardless, are there any common reasons to set up an $scope.$on("$destroy", function() { … }) aside from canceling timers?