docs: def new(cls, func, args, mon, count=0):
          """
          :returns: a new Result instance
          """
          try:
              with mon:
                  val = func(*args)
          except StopIteration:
              res = Result(None, mon, msg='TASK_ENDED')
          except Exception:
              _etype, exc, tb = sys.exc_info()
              res = Result(exc, mon, ''.join(traceback.format_tb(tb)),
                           count=count)
          else:
              res = Result(val, mon, count=count)
          return res