docs: def wrap(cls, secs, args=(), kwargs=None):
          """a classmethod decorator to immediately turn a function into a timer
  
          .. note::
  
              you won't find this on `threading.Timer`, it is an extension to
              that API
  
          this is a function *returning a decorator*, so it is used like so:
  
          >>> @Timer.wrap(5, args=("world",))
          >>> def say_hi_timer(name):
          ...     print "hello, %s" % name
  
          :param secs:
              how far in the future to defer running the function in seconds
          :type secs: int or float
          :param args: positional arguments to pass to the function
          :type args: tuple
          :param kwargs: keyword arguments to pass to the function
          :type kwargs: dict
  
          :returns:
              a decorator function which produces an unstarted :class:`Timer`
          """
          def decorator(func):
              return cls(secs, func, args, kwargs)
          return decorator