Give `init` instantiations their own callbacks

This fixes a problem where running multiple animations at once would sometimes break due to the fact that all concurrent animations were drawing from the same callbacks object.

Specifically, there were cases where, when running two concurrent animations, the callback from the animation that was defined second would overwrite the callback from the animation that was defined first.