Qualcuno mi sa dire, per quale motivo il setInterval non funziona piu, se la istanzo in una variabile locale?

codice:
class VirtualInterval
{
	private var _id:Number = 0;
	function VirtualInterval(vel:Number)
	{
		inizia(vel);
	}
	private function traccia():Void
	{
		trace('traccia');
	}
	private function inizia(vel:Number):Void
	{
		_id = setInterval(this, 'traccia', vel);
	}
}
se richiamo sulla timeline, funziona correttamente:
codice:
var vi:VirtualInterval = new VirtualInterval(1000);
ma se richiamo la funzione, l'intervallo non parte. Da qualche mi sembrava di aver visto, che abbiano usato EventDispatcher.Ma non so come applicarlo???
codice:
function locale():Void
{
	var vi:VirtualInterval = new VirtualInterval(1000);
}
locale();