More refactoring on Skip::next

Used a for loop and mem::replace to factor some steps