anchor.diff:      insertionPoints.add(viewPort);
     }
   
  +  /// Projected contents for components (ie `<content>` tags)
     void addContent(Content content) {
       insertionPoints.add(content);
     }
   
  +  /// Schedules a [fn] to be executed in the next DOM write phase.
     void domWrite(fn()) {
       scope.domWrite(fn);
     }
   
  +  /// Schedules a [fn] to be executed in the next DOM read phase.
     void domRead(fn()) {
       scope.domRead(fn);
     }
   }
   
   /**
  - * A ViewPort maintains an ordered list of [View]'s. It contains a
  - * [placeholder] node that is used as the insertion point for view nodes.
  + * Maintains an ordered list of [View]'s.
  + *
  + * It contains a [placeholder] node that is used as the insertion point for view nodes.
  + * Updating the child views of a [ViewPort] is a way to modify the hosting [View].
    */
   class ViewPort {
     final DirectiveInjector directiveInjector;
  
positive.code:     _parentView.addViewPort(this);
    }
  
    View insertNew(ViewFactory viewFactory, {View insertAfter, Scope viewScope}) {
      if (viewScope == null) viewScope = scope.createProtoChild();
      View view = viewFactory.call(viewScope, directiveInjector);
      return insert(view, insertAfter: insertAfter);
    }
  
    View insert(View view, { View insertAfter }) {
      scope.rootScope.domWrite(() {
        dom.Node previousNode = _lastNode(insertAfter);
  
negative.code:     views.insert(index, view);
    }
  
    /// Concatenates and returns the nodes for all the views.
    List<dom.Node> get nodes {
      final r = [];
      for(final v in views) {
  