constructor(tag, dependencyChain) {
    this.tag = tag;
    this.dependencyChain = dependencyChain;

    this.filePath = tag.filePath;
    this.dirname = tag.dir || tag.dirname;
  }
We load tag definition using this class. Properties in the taglib
definition (which is just a JavaScript object with properties)
are mapped to handler methods in an instance of this type.

@param {Tag} tag The initially empty Tag instance that we populate
@param {String} dirname The full file system path associated with the tag being loaded
@param {String} path An informational path associated with this tag (used for error reporting)