The result from the executed task.  Raises NotExecutedYet if not yet
        executed.

def result(self):
        '''
        The result from the executed task.  Raises NotExecutedYet if not yet
        executed.
        '''
        if self.cancelled or (self._fn is not None):
            raise NotExecutedYet()

        if self._fn_exc is not None:
            six.reraise(*self._fn_exc)
        else:
            return self._fn_res