Made a more generic particle system, still needs work.