The PR still is not done. It seemed pretty quick to rebase the PR and fix what I felt were the main problems with it.

However, once I got to acctually using the dm room and trying to “talk” to it, I ended up getting a whole lote of async borrow and move errors which seem inscrutable to a rust noob like myself.