code: def __callbackWrapper(self, transfer_p):
          
          self.__submitted = False
          self.__after_completion(self)
          callback = self.__callback
          if callback is not None:
              callback(self)
          if self.__doomed:
              self.close()
docs: Makes it possible for user-provided callback to alter transfer when
          fired (ie, mark transfer as not submitted upon call).