code: def make_wrapper(self, callable_):
          
          assert callable(callable_)
          def wrapper(*args, **kw):
              return self.call_and_report_errors(callable_, *args, **kw)
          return wrapper
docs: Given a free-standing function 'callable', return a new
          callable that will call 'callable' and report all exceptins,
          using 'call_and_report_errors'.