if(!Animation.prototype.getValue) {
  Animation.prototype.getValue = function() {
    var val = (this.startValue + (this.finalValue - this.startValue) * 
              Animation.transitions[this.transition]((new Date().getTime() - this.startTime)/this.duration));
    
    if(val < 0) { return 0; }
    if(val > 1) { return 1; }
    
    return val;
  };
}
if(!Animation.prototype.isExpired) {
  Animation.prototype.isExpired = function() {
    return ((new Date().getTime() - this.startTime) >= this.duration);
  };
}

@@ -87,85 +87,15 @@
 var 
-val = (this.startValue + (this.finalValue - this.startValue) * %0A             
+stage =
  Ani
@@ -187,16 +187,94 @@
 tion));%0A
+    var val = (this.startValue + (this.finalValue - this.startValue) * stage;%0A
     %0A   

Update core.js