@Override
    public void onFirstUpdate(){
        if(ParticleSystem.isEnabled()){
            
            // XXX DANGER WILL ROBINSON XXX
            List<Vector3f> hotSpots = getHotSpotsFor("Engine");
            if( hotSpots == null) {
                // No Engine hotspots defined
                return;
            }
            
            for(Vector3f v : hotSpots){
                final Vector3f hotspot = v;
                final Actor a = this;
                ParticleGenerator<? extends Particle> particleGenerator = new graphics.particles.generators.Exhaust<Plasma>(Plasma.class,
                        new actor.interfaces.Movable() {
                    @Override
                    public Vector3f getVelocity() {
                        return a.getVelocity();
                    }

                    @Override
                    public Object setVelocity(Vector3f vel) {
                        // NOT IMPLEMENTED
                        return null;
                    }

                    @Override
                    public Vector3f getPosition() {
                        return a.getPosition().plus(hotspot);
                    }

                    @Override
                    public Object setPosition(Vector3f newPosition) {
                        // NOT IMPLEMENTED
                        return null;
                    }

                    @Override
                    public Quaternion getRotation() {
                        return a.getRotation();
                    }

                    @Override
                    public Object setRotation(Quaternion rot) {
                        // NOT IMPLEMENTED
                        return null;
                    }
                });
                if (particleGenerators != null)
                    particleGenerators.add(particleGenerator);
                ParticleSystem.addGenerator(particleGenerator);
            }
        }
    }