Rework TagSystem to use HashCodes for faster lookup