Use thimble

WIP, with some review points so it doesn't get too off-track.
Yeah. All these would also be blocking and should be part of blocking methods. It will be nice if cancel can be called when acquire's Deferred is cancelled.