start of WorldState - instead of giving each class the particle list to modify, they get an event object that they can tell to spawn particles (and eventually do other things)