Made the particle collections be creating in the constructor, otherwise they are shared between instances.  Also pulled the function definitions into the definition.