code: function Tag(tagName, config, children) {
    this.tagName = tagName || 'div';
    config = config || {};
    this.children = children || [];
    this.props = config.props;
    this.attrs = config.attrs;
    this.attrsNS = config.attrsNS;
    this.events = config.events;
    this.hooks = config.hooks;
    this.data = config.data;
    this.params = config.params;
    this.element = undefined;
    this.parent = undefined;
  
    this.key = config.key != null ? config.key : undefined;
  
    this.namespace = config.attrs && config.attrs.xmlns || null;
    this.is = config.attrs && config.attrs.is || null;
  }
docs: The Virtual Tag constructor.
  
  @param  String tagName  The tag name.
  @param  Object config   The virtual node definition.
  @param  Array  children An array for children.