It is safest to complete the transaction first incase the callback queues up another one.