Particle system refactor