Particle implementation with several types of behaviour.