function freeAnimationCall(animation) {
    var next = animation._next,
        prev = animation._prev,
        queueName = animation.queue == null ? animation.options.queue : animation.queue;
    if (State.firstNew === animation) {
        State.firstNew = next;
    }
    if (State.first === animation) {
        State.first = next;
    } else if (prev) {
        prev._next = next;
    }
    if (State.last === animation) {
        State.last = prev;
    } else if (next) {
        next._prev = prev;
    }
    if (queueName) {
        var data = Data(animation.element);
        if (data) {
            animation._next = animation._prev = undefined;
        }
    }
}
Remove an animation from the active animation list. If it has a queue set
then remember it as the last animation for that queue, and free the one
that was previously there. If the animation list is completely empty then
mark us as finished.