reorganized basic particle system code to be organized around an application object