Currently the Tag has a locator field, a string. Different applications interpret that differently. We should change that so that it's an object, and add a specification field so that applications can know how to constrain and interpret them.