I see several problems with this:<p>If you start with two disconnected cell groups, how do you know when they collide? It seems like the best way to do this is to have a global cell array (or hash table) such that world[position] returns the cell at position.<p>If you update separate groups at different speeds you run into problems unless you save the complete history. So you still have to update everything in sync? Then what is asynchronous about this?