doc on transaction timeout
MockClient can call #update outside of Fiber
MockQueue has more informative error messages
test for transaction fail and retry