after fairly rigorious testing, and banging my head against the wall trying to get it to work... I realized that I've designed it wrong. Separating out the blocks was actually a bad idea: I eventually discovered an obsecure edge case were sometimes following someone causes blocks unreplicate some others. The previous way things were modeled this was representable, but the new design! Now I'm thinking about how to combine both ideas...