code: def thread(function):
      
      @wraps(function)
      def wrapper(*args, **kwargs):
          future = Future()
  
          launch_thread(_function_handler, function, args, kwargs, future)
  
          return future
  
      return wrapper
docs: Runs the decorated function within a concurrent thread,
      taking care of the result and error management.
  
      Decorated functions will return a concurrent.futures.Future object
      once called.