Run the action asynchronously, without blocking the calling thread and delivering the result through the callback.
Attempt to retry the action and deliver the result to a callback registered with a previous call to async.
Cancel the action without reporting any further results.
Run the action synchronously, potentially blocking the calling thread.