'Watch once' feature for AngularJS scopes and controllers