ciao a tutti, allora...

recentemente mi sono imbarcato nella creazione di qualche classe personalizzata per delle transizioni e mi sono subito posto il problema di utilizzare dei metodi ridefinibili in runtime così come si fa con la classe Tween (onMotionChanged, onMotionFinished ecc...) così ho verificato la possibilità di definire e richiamare questi metodi in runtime e ho trovato possibile farlo solo rendendo la classe di tipo dynamic... faccio un esempio

codice:
dynamic class Prova {
	private var __start:Number;
	private var __limit:Number;
	private var __interval:Number;
	function Prova (limit:Number) {
		__start = 0;
		__limit = limit;
		__interval = setInterval(this, '__process__', 100, __start, __limit);
	}
	private function __process__ (start:Number, limit:Number):Void {
		start++;
		if(start >= limit){
			this['delete']()
			this['onFinished']();
		}
	}
	private function delete (){
		if(__interval > 0){
			clearInterval(__interval);
		}
	}
	public function onFinished () {};
}
sul .fla
codice:
var prova:Object = new Prova(100);
prova.onFinished = function(){
	trace("finito!!!");
}
ora chiedo, è questo il modo corretto di agire? va bene usare dynamic o ci sono dei problemi di "sicurezza" della classe? c'è un modo diverso di ottenere il medesimo risultato?

grazie a tutti