code: function(views, start, removed, added) {
      var len = get(views, 'length');
  
      // No new child views were added; bail out.
      if (added === 0) return;
  
      var changedViews = views.slice(start, start+added);
      this.initializeViews(changedViews, this, get(this, 'templateData'));
  
      // Let the current state handle the changes
      this.invokeForState('childViewsDidChange', views, start, added);
    }
docs: When a child view is added, make sure the DOM gets updated appropriately.
  
  If the view has already rendered an element, we tell the child view to
  create an element and insert it into the DOM. If the enclosing container view
  has already written to a buffer, but not yet converted that buffer into an
  element, we insert the string representation of the child into the appropriate
  place in the buffer.
  
  @private
  @param {Ember.Array} views the array of child views afte the mutation has occurred
  @param {Number} start the start position of the mutation
  @param {Number} removed the number of child views removed
  @param {Number} the number of child views added