Do not store names in the Specifier objects (reduces redundancy)
Do not store indices in the Specifier object, instead store a separate mapping from specifiers to indices (will be further simplified)