1. A computer-readable storage medium having computer-executable instructions for performing steps comprising: receiving a designation of a category path in a registry for a category of programming objects; receiving an instruction to search for a programming object in the category of programming objects wherein the programming object comprises a set of programming instructions that supports at least one method that is called in the programming object, and wherein the search is based on at least one search attribute; searching below a tokens key located beneath the category path in the registry for sets of attributes for programming objects in the category that match the at least one search attribute; searching below a token enums key located beneath the category path in the registry for token enumerator programming objects that will search for sets of attributes for programming objects in the category, wherein searching below the tokens key for sets of attributes for programming objects is performed before searching for token enumerator programming objects below the token enums key; instantiating a token enumerator based on a unique class identifier for a token enumerator programming object stored in a data entry for the token enumerator name in the registry beneath the token enums key beneath the category path; using the instantiated token enumerator to search for a set of attributes outside of the registry; and returning references to programming objects based on a set of attributes found by the token enumerator outside of the registry and a set of attributes for programming objects found beneath the category path in the registry.