Waits for upload, message send and monitor/cancellation cleanup. Cancelling the waiter does not cancel this operation.
Retries a failed/cancelled attempt with the same persisted message. Active and successful attempts return themselves.