Начал писать когда то, чуть дописал.

Код:
import mx.events.EventDispatcher;
class ru.flasher.helping.managers.MovieClipChanger {
//event stuff
private static var initDispatcher = EventDispatcher.initialize(MovieClipChanger.prototype);
public var addEventListener:Function;
public var removeEventListener:Function;
private var dispatchEvent:Function;
//private properties
private var __movies_array:Array;
private var __method:Function = null;
//Constructor
public function MovieClipChanger () {
__movies_array = new Array ();
}
//public methods
public function addMovie(mc:MovieClip):Number {
__movies_array.push(mc);
dispatchEvent({type:"add",mc:mc});
return __movies_array.length;
}
public function removeMovie(mc):Object {
var result:Object = null;
if(typeof(mc) == "number") {
result = __movies_array[mc];
__movies_array.splice(mc,1);
}else if(typeof(mc) == "movieclip") {
for(var i:Number=0;i<__movies_array.length;i++) {
if(__movies_array[i] == mc) {
result = __movies_array[i];
__movies_array.splice(i,1);
break;
}
}
}
dispatchEvent({type:"remove",mc:result});
return result;
}
public function getMovie(index:Number):MovieClip {
if(index<=__movies_array.length) {
return __movies_array[index];
}else{
return null;
}
}
public function registerMethod(method:Function):Void {
__method = method;
dispatchEvent({type:"register" , method:__method});
}
public function execute(args:Array):Void {
dispatchEvent({type:"execute",method:__method};
for(var i:Number = 0;i<__movies_array.length;i++) {
__method.apply(__movies_array[i],args);
}
}
//read only
public function get length ():Number {
return __movies_array.length;
}
public function get movies ():Array {
return __movies_array.slice()
}
}
В Фла файле на сцену кладем мувики (назевем их b1_mc, b2_mc и так далее)
и в первом кадре пишем

Код:
import ru.flasher.helping.managers.MovieClipChanger
var manager:MovieClipChanger = new MovieClipChanger();
manager.addMovie(b1_mc);
manager.addMovie(b2_mc);
manager.addMovie(b3_mc);
manager.removeMovie(b2_mc);
function setText(name:String):Void {
this._txt.text = this._name;
}
manager.registerMethod(setText);
manager.execute();