Generalised Physics and Emitter classes to make it easier to work with custom Particle types.