public void customProcess(Entity entity, GameTime gameTime) {
		Spatial spatial = entity.getComponent(Spatial.class);
		ParticleEmitter emitterDetails = entity.getComponent(ParticleEmitter.class);

		// If the first element of our list of current particles is empty, it's
		// safe to assume the rest are also. This will be the first time a
		// particle emitter has been added to the system, so we create the list
		// of possible particles so that random ones can be selected and used
		if (emitterDetails.cachedParticleImages[0] == null) {
			createCachedParticles(emitterDetails);
		}

		updateAllExistingParticles(emitterDetails, gameTime.getElapsedTimeMilli());
		createMoreParticles(emitterDetails, spatial.x, spatial.y);

		// Make an explicit call to the entity manager to update its lists
		entityManager.refreshEntityLists();
	}