'Start and run the task to completion.
The task will first sleep for zero seconds, then sleep for `wait_time`
seconds between steps. To avoid sleeping, pass `None` for `wait_time`.'

def __call__(self, wait_time=1, timeout=None, progress_callback=None):

    assert (self._runner is None), 'Task    already    started'
    started = False
    for step in self.as_task(timeout=timeout, progress_callback=progress_callback):
        self._sleep((wait_time if (started or (wait_time is None)) else 0))
        started = True
