Vital so that if there is an error and the data is removed from the queue before it is successful we do not incur data loss.
We could possibly use the same mechanism the offline queue uses