Ok, this time it's mostly for real. This code appears to be fairly solid, and is running in "production" and I use it daily.
The asynchronous protocol is still having troubles, so we'll back off of that for the moment. The nice thing is that the current protocol is designed to be asynchronous, but is only run synchronously at the moment.