Added factory methods to TagDescriptor and moved dependencies on Node and HintsDescrptor to the factory methods