Halo is a singleton class that keeps a global Library where objects can put their halos. Halo content can be organized as lists of keys that access objects. Typical things to keep in halos would be specs for JITLib proxies; or categories and tags that can be used to select objects based on informed criteria.
Caveat: This may be problematic for garbage collection, as it may keep objects around that would become unreachable otherwise. Thus, Halo is intended only for use with semi-permanent objects!
Also note: Usually, one never talks to Halo directly except for debugging. Instead, one uses the object itself to store things into its halo, as shown in the examples.
put something into Halo lib under the hierarchical list of keys. the first key is the object itself for which the halo is stored, the other keys can be arbitrarily deep.
access things in the Halo Library by hierarchical list of keys: the first key is the object itself for which the halo is stored, the other keys can be arbitrarily deep.
the halo content stored at ... keys.
pretty-post the current Halo tree