docs: def start(self, wait=False):
          """Start a task.
  
          This function depends on the underlying implementation of _start, which
          any subclass of ``Task`` should implement.
  
          Args:
              wait (bool): Whether or not to wait on the task to finish before
                  returning from this function. Default `False`.
  
          Raises:
              RuntimeError: If the task has already been started without a
                  subsequent call to ``reset()``.
          """
          if self._status is not TaskStatus.IDLE:
              raise RuntimeError("Cannot start %s in state %s" %
                                 (self, self._status))
          self._status = TaskStatus.STARTED
          STARTED_TASKS.add(self)
          self._start()
  
          if wait:
              self.wait()
  
          return self.return_values