is it safe to call complete here? The transactions have not complete... There should be some logic that ensures we fire complete once the transaction is done.