That said, if you follow my refactoring suggestion below, you'll probably pass `proxy` rather than `self`...but hopefully you get the point :).