Adds `Context.register()` method to replace decorators.

Adds `Proxy()` class to improve proxy performance and encapsulation.
Should we remove this test function?  I don't really remember what the point of it is.