The class that executes the animation timeline, using an AnimationProxy
to bridge between the immutable nature of game pieces (all instances of
a piece on the board are the same piece) and their occurrence at specific
places and at different moments on the animation timeline (each instance
has unique animation-based state in the proxy).