Add a proxy pattern and unit tests for it.