Scroll, onRelease stop scroll (mx)

Hi there,
I thought I would be able to find a tut somewhere for this, but amazingly no.

Does anyone know how to make a mc scroller that uses up and down buttons (no bar), that starts scrolling onPress and stops on onRelease… but eases into place wherever you happen to stop?

Well,
I think I sort of answered my own question, but I doubt this is the best, most efficient way to do this.

I’m using this prototype:

[AS]MovieClip.prototype.easeScale = function (finalx, finaly, speed) {
this.onEnterFrame =function () {
this._x += Math.floor ((finalx- this._x )/speed);
this._y += Math .floor ((finaly- this ._y )/speed);
if (Math.abs (this._y - finaly) < .001) {
delete this.onEnterFrame;
}
};
};
[/AS]

… and on the up button I have:

[AS]on (press) {
fagraText_mc.easeScale(0, 31, 9);
}
on (release, dragOut) {
if (fagraText_mc._y >= 31){
fagraText_mc.easeScale(0, 31, 6);
}
else {
fagraText_mc.easeScale(0, (fagraText_mc._y + 10), 6);
}
}[/AS]

…and on the down button:

[AS]on (press) {
fagraText_mc.easeScale(0, (fagraText_mc._y - fagraText_mc._height), 10);
}
on (release, dragOut) {
fagraText_mc.easeScale(0, (fagraText_mc._y - 10), 6);
}[/AS]

Does anyone have any suggestions?

No, seriously. Does anyone have a better way to do this? Or is this just one of those questions that gets asked too much? If so, please point me to a tutorial and accept my appology for boring you.