Refactor the batch animation interface to make the APIs a bit clearer