will use a queue like in other places for this.  Also means the callback should be idempotent, which will be documented