i enjoy doing those things in matrix land.
you can store all your transformations in jit.matrix, few of them
actually(one for every keyframe), then you can interpolate between them
using jit.slide or jit.op's and jit.expr's.
if you're interested in this approach, i'll try to patch something up