Multitween function +callback

MovieClip.prototype.tweenTo = function(Obj, speed, callbackObj, func) {
	var i = 0;
	for (var prop in Obj) {
		this[prop] += (Obj[prop]-this[prop])/speed;
		if (Math.abs(Obj[prop]-this[prop])<1) {
			this[prop] = Obj[prop];
			delete Obj[prop];
		}
		i++;
	}
	if (!i) {
		clearInterval(this.myinterval);
		var arg = arguments.slice(4);
		callBackObj[func].apply(callbackobj, arg);
	}
};

example of use
//mc instance name mc

MovieClip.prototype.callbackfunction = function(a, b, c) {
	trace(a);
	trace(b);
	trace(c);
};
var o = {_x:random(800), _y:random(500), _xscale:random(200), _yscale:random(200), _rotation:random(180)};
mc.myinterval = setInterval(mc, "tweenTo", 40, o, 5, mc, "callbackfunction", "argument1", "argument2", "argument3");

i would be interested to here of similar functions which people have written/any improvements they may suggest.