I don't really have the time to dive in really deep atm. At a quick glance it seems you are basing of an "emitter" as a "wrapper" around the particles. I would rather base it around a "Particle System". Then there's mainly two different advanced Particle System Types that come to mind: Rulebased or Eventbased. It's not exactly trivial to wrap your head around the differences if you ask me. Anyways, as a quick example i'll take an event-based approach. So within your "System" you have "Events". An event is basically a group of any operators, operators can either create, kill or modify particles or display them (generate a visual representation). Modifying includes moving them out of the event.
Particle Flow in 3ds Max is an event based particle system. Here's a screenshot that illustrates the concept:
The boxes are events. You can see a bunch of different operators (Basic rule: Green icon = spawn/emit, Blue = modify particles, Yellow (Test operators, usually move out particles if true or false))