code: function initChildTag(child, opts, innerHTML, parent) {
    var tag = new Tag(child, opts, innerHTML),
      tagName = getTagName(opts.root),
      ptag = getImmediateCustomParentTag(parent)
    // fix for the parent attribute in the looped elements
    tag.parent = ptag
    // store the real parent tag
    // in some cases this could be different from the custom parent tag
    // for example in nested loops
    tag._parent = parent
  
    // add this tag to the custom parent tag
    addChildTag(tag, tagName, ptag)
    // and also to the real parent tag
    if (ptag !== parent)
      addChildTag(tag, tagName, parent)
    // empty the child node once we got its template
    // to avoid that its children get compiled multiple times
    opts.root.innerHTML = ''
  
    return tag
  }
docs: Create a new child tag including it correctly into its parent
  @param   { Object } child - child tag implementation
  @param   { Object } opts - tag options containing the DOM node where the tag will be mounted
  @param   { String } innerHTML - inner html of the child node
  @param   { Object } parent - instance of the parent tag including the child custom tag
  @returns { Object } instance of the new child tag just created