[async] changed: Use separate result class instead of StopIteration because otherwise it will be handled in standard exception closure