We need to eventually support particle to avatar collisions for non-interface driven avatars. Like the scripted avatars running in assignment clients. So, in the end, I think it's acceptable for ParticleCollisionSystem to know about avatars, particles, and voxels... maybe it belongs in it's own library instead of in particles.