animate = function animate(cb, complete) {
    var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 500;
    var ease = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : easeLinear;
    var delay = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;

    return interpolate(function (t) {
        cb(ease(t));
    }, complete, duration, delay);
}
animate a certain amount of time (between 0 and 1)
@param cb - update function
@param complete
@param duration - duration in milliseconds
@param ease - easing function
@param delay