* Changed AssetTag and MetadataTag to have Factory Methods for their construction, with private constructorssince they cannot be virtual.