Refactored ParticleSystem