С private я еще не знаком, и решил вопрос иначе(корявенько наверно и слишком длинно)

Код AS1/AS2:
import com.greensock.*;
import com.greensock.easing.*;
mc1.mc.addEventListener(MouseEvent.MOUSE_OVER, mouseOVER);
function mouseOVER(event:MouseEvent):void
{
TweenLite.to(mc1, 1, {x:Math.random()*800, y:Math.random()*650, ease:Cubic.easeOut});
}
mc1.addEventListener(MouseEvent.MOUSE_DOWN, mouseDOWN);
function mouseDOWN(event:MouseEvent):void
{
mc1.startDrag();
}
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUP);
function mouseUP(event:MouseEvent):void
{
mc1.stopDrag();
}
var mcc:Mcc = new Mcc ;
mcc.x = 400;
mcc.y = 324;
mc1.ok_mc.addEventListener(MouseEvent.MOUSE_DOWN, mouseDOWN_2);
function mouseDOWN_2(event:MouseEvent):void
{
mcc.visible = true;
mc1.visible = false;
addChild(mcc);
}
mcc.addEventListener(MouseEvent.MOUSE_DOWN, mouseDOWN_3);
function mouseDOWN_3(event:MouseEvent):void
{
mcc.startDrag();
}
stage.addEventListener(MouseEvent.MOUSE_UP, mouseUP_2);
function mouseUP_2(event:MouseEvent):void
{
mcc.stopDrag();
}
mcc.mcc1.addEventListener(MouseEvent.MOUSE_DOWN, mouseDOWN_4);
function mouseDOWN_4(event:MouseEvent):void
{
mcc.visible = false;
mc1.visible = true;
addChild(mc1);
}
Коментарии по коду (кроме тех, типа "че эт за фигня") выслушать рад. Мне очень интересно как это написать короче, правильнее и читабельнее, все таки я только начал изучать AS 3.0)))