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

Adds `Proxy()` class to improve proxy performance and encapsulation.
PEP8 nit: two blank lines at top level