I still don't see how the registry is needed, when the Lua side doesn't
need one.
Because removing it would break backwards compatibility?
If you're really worried about collisions, there are a few techniques presented in the PIL book:
* Use the address of a static variable as a key
* Use references
* Use upvalues instead
http://www.lua.org/pil/27.3.html