we need to track the state of sending to different provider separately (and trigger them off separately, refer to references separately, etc)