I understand the idea. Actually, I thought about this solution too, but the problem is when the calculation in callFunc is complicated then you need to save it’s state (all variables, executing point in function). In this example we stored “i” in scope outside. Another issue is we need to keep the calculation “short” enough to guarantee smooth rotation (animation).