 		}
 		
 		/**
+		 * 
+		 */
+		override public function addedToEmitter( emitter:Emitter ):void
+		{
+			if( ! emitter.hasInitializer( this ) )
+			{
+				emitter.addInitializer( this );
+			}
+		}
+		
+		override public function removedFromEmitter( emitter:Emitter ):void
+		{
+			emitter.removeInitializer( this );
+		}
+
+		/**
+		 * 
+		 */
+		public function initialize( emitter:Emitter, particle:Particle ):void
+		{
+			var p:Particle2D = Particle2D( particle );
+			var pt:Point = _zone.getLocation();
+			var data:TweenToZoneData = new TweenToZoneData( p.x, p.y, pt.x, pt.y );
+			p.dictionary[this] = data;
+		}
+
+		/**
 		 * Calculates the current position of the particle based on it's energy.
 		 * 
 		 * <p>This method is called by the emitter and need not be called by the 

{
	import org.flintparticles.common.actions.ActionBase;
	import org.flintparticles.common.emitters.Emitter;
	import org.flintparticles.common.particles.Particle;
	import org.flintparticles.twoD.particles.Particle2D;
	import org.flintparticles.twoD.zones.Zone2D;

		public function TweenToZone( zone:Zone2D )
		{
			_zone = zone;
			priority = -10;
		}
		
		/**
