The replyview UI can become unresponsive if many new nodes are being inserted into the backing
ds.ReplyList. This is because the replylist contains a mutex to make it safe to update concurrently, and the render logic has to block waiting for control of the mutex.
To ensure a smooth UI, we should really have two backing
ds.ReplyLists, one that is being updated and one that is being used. We can periodically (perhaps after every update) attempt to swap the two, but the goal is for the UI to always have a readable copy of the data accessible.