jQuery bucle infinito a través de cada div

Tengo algunos divs con divs en ellos, los cuales quiero hacer un ciclo mientras elimino una clase de la actual, y luego agrego una clase a la siguiente.

Luego, cuando llego a la última, quiero volver al inicio y hacerlo de nuevo.

Ya tengo una manera de hacer esto, pero solo funciona para un conjunto de divs, voy a tener muchos conjuntos de divs que necesitan un bucle independiente.

Aquí hay un ejemplo de algunos conjuntos (habría una cantidad aleatoria de divs en cada uno):

<div class="set">
    <div class="current">Item1</div>
    <div>Item2</div>
    <div>Item3</div>
</div>


<div class="set">
    <div class="current">Item1</div>
    <div>Item2</div>
    <div>Item3</div>
    <div>Item4</div>
    <div>Item5</div>
</div>

Necesito eliminar esa clase actual, y agregarla al siguiente div en cada conjunto, y así sucesivamente.

Aquí está el código que tengo que funciona con un conjunto:

$(function() {
    var items = $('.set div').length;
        current = 0;

    setInterval(function() {
        $('.set div').eq(current).removeClass('current');

        if (current == items - 1){
            current = 0;
        } else {
            current++;
        }

        $('.set div').eq(current).addClass('current');
    }, 500);
});

Respuestas a la pregunta(3)

Su respuesta a la pregunta