В as2 текстовому полю для удобства работы можно было добавить параметр например id

Код AS1/AS2:
var txt:TextField;
for (var i = 0; i < 2; i++){
txt = this["txt" + i];
txt.id = i;
txt.onChanged = function (){
trace(this.id);
}
}
В тройке на такое же действие компилятор ругается, мол у TextField нет такого свойства и он конечно прав.

Код AS3:
var txt:TextField;
for (var i = 0; i < 2; i++){
txt = this["txt" + i];
txt.id = i;
txt.addEventListener(Event.CHANGE, txtChange);
}
function txtChange(e:Event){
var txt:TextField = e.currentTarget as TextField;
trace(txt.id)
}
Можно ли это обойти? Я думаю что можно подправить класс через прототипы, но способ не очень нравиться, + в системе прототипов я плаваю.