Edit in JSFiddle

var NumFx = new Class({
    Extends: Fx,
    
    set: function(value) {
        this.curr = value; 
    },
    
    step: function(now) {
        this.parent(now);
        this.fireEvent('step', this.subject);
    }
});

var numFx = new NumFx({
    duration: 50000,
    transition: Fx.Transitions.Bounce.easeOut,
    onStep: function() {
        $('demo').set('html', this.curr.toInt());
    },
    onStart: function() {
        console.log('start...');
        $('demo').set('html', this.from);
    },
    onComplete: function() {
        $('demo').set('html', this.to);
    }
});

$('pause').addEvent('click', function() {
    numFx.pause();
});

$('resume').addEvent('click', function() {
    numFx.resume();
});

numFx.start(0, 600);
<p id="demo"></p>
<button id="pause">pause</button>
<button id="resume">resume</button>