The following diagram details the stages that a transfer goes through after submission. You can add event listeners to the transaction using the on methods.
stateDiagram-v2
[*] --> IDLE[0]
IDLE[0] --> PROPOSE[1] : Start Transfer
IDLE[0] --> END[5] : Error Starting Transfer
PROPOSE[1] --> SIGN[2] : Proposal Created
PROPOSE[1] --> END[5] : Policy Breach
SIGN[2] --> COMBINE[3] : collected_signatures >= signature_threshold
SIGN[2] --> END[5] : Error Signing
COMBINE[3] --> BROADCAST[4] : Signatures Combined
COMBINE[3] --> END[5] : Error Combining
BROADCAST[4] --> END[5] : Transaction Broadcasted
END[5] --> [*]