      */
     private function dispatchMoveEvent():void
     {
-        var moveEvent:MoveEvent = new MoveEvent(MoveEvent.MOVE);
-        moveEvent.oldX = oldX;
-        moveEvent.oldY = oldY;
-        dispatchEvent(moveEvent);
+        if (hasEventListener(MoveEvent.MOVE))
+        {
+            var moveEvent:MoveEvent = new MoveEvent(MoveEvent.MOVE);
+            moveEvent.oldX = oldX;
+            moveEvent.oldY = oldY;
+            dispatchEvent(moveEvent);
+        }
         
         oldX = x;
         oldY = y;

                super.x  = x;
            else
                _layoutFeatures.layoutX = x;
            
            dispatchEvent(new Event("xChanged"));
            changed = true;
        }


 *
 *  <p>The <code>resize</code> event is not
 *  dispatched until after the property changes.</p>
 *
 *  <p>This event will only be dispatched when there are one or more 
 *  relevant listeners attached to the dispatching object.</p>
 *
 *  @eventType mx.events.ResizeEvent.RESIZE
 *  
