Sam: Refactor the animation stuff to use chaining