kestrel.Client is just one client; we will compose a cluster client on top instead
Wraps the thrift Item struct to keep a reference to the queueName and client connection
Apparently you can confirm an item by ID even after disconnecting
It is an error if an item cannot be confirmed/aborted after its timeout