turns out you can't just use distributed collections: you must use Actors because of the complexity of what you want to do