This is REALLY helpful.
However, with this method I encountered a problem:
If you have a push/pull animation that has multiple frames, it will be stuck on the first frame. From my point of view this is, because the function that calls the animation is executed the whole time, which causes the animation to start over again, always. This is also the case in your demo. Just add a few colored frames to the pull/push animation and you can see what I mean.
Is there a clever way around this?
I hope this thread is not dead yet. I am looking for the solution for the same issue and would really appreciate if someone can help.