code: function connectScopes() {
          var scopeDigesting = false;
          var newScopeDigesting = false;
  
          scope.$watch(function() {
            if (newScopeDigesting || scopeDigesting) {
              return;
            }
  
            scopeDigesting = true;
            scope.$$postDigest(function() {
              if (!newScopeDigesting) {
                newScope.$digest();
              }
  
              scopeDigesting = newScopeDigesting = false;
            });
          });
  
          newScope.$watch(function() {
            newScopeDigesting = true;
          });
        }
docs: Creates watchers on scope and newScope that ensure that for any
  $digest of scope, newScope is also $digested.