def _run_proxy(self, *args, **kwargs):
return self.run(*args, **kwargs)<EOL>
this is indirection to the run function.  By exectuting this method
        instead of the actual "run" method directly, we can use inheritance
        to provide some resources to the run function via the run function's
        arguments