         {
             possessed = false;
             glyphs.removeAll();
-            //mover.stop();
+            killTween();
         }
 
         private function controlLost():void

            possessionTimer = new Timer(1000 * (minimumPossessionDelay + Math.floor(Math.random() * randomPossessionDelay)), 1);
            possessionTimer.addEventListener(TimerEvent.TIMER_COMPLETE, startPossession, false, 0, true);
            possessionTimer.start();
        }

        private function onMouseMove(event:MouseEvent):void

            }

            var nextGlyph:Glyph = glyphs.removeItemAt(0) as Glyph;
            killTween();

            var distance:Number = calculateDistance(this.x - offset.x, 
                                                    this.y - offset.y, 
                                                    nextGlyph.position.x - offset.x,
                                                    nextGlyph.position.y - offset.y);

            var duration:Number = distance / currentPersonality.getSpeed();

            mover = new TweenLite(this, duration, {
                x: nextGlyph.position.x - offset.x,
                y: nextGlyph.position.y - offset.y,
                onComplete: nextMove
            });

            if (!initialPause)
            {
                mover.delay = currentPersonality.getPauseLength();
            }
            else
            {
                mover.delay = currentPersonality.getPauseLength() * 2;
            }
           
            mover.play();
        }

        private function killTween():void
        {
            if (mover)
            {
                mover.kill();
                mover = null;
            }
        }

        private function calculateDistance(x1:Number, y1:Number, x2:Number, y2:Number):Number
