Added support for percentage values (as long as CSS property supports them). Added ability to specify duration as a function. Added a callback that is triggered when the animation completes. And finally, I added a flag that, when set, will not set the target element to its start value, which is useful when multiple animations take place on a single element within the same block