Here is how I see the behaviour of an infinite animation:

��- stop it when element is removed from the space
��- resume it when element is re-added to the space

It means that some object should store that animation (an element?).
What if element is not going to be re-added to the space? Should animation reference it target in a weak manner and remove itself when target is garbage collected? However, we also have target-less animations...

There are too many possibilities, that is why I think it should be up to the user of infinite animation how to manage its lifecycle. We could create a factory of pre-configured infinite animations for most common lifecycles.

Cheers,
Alex