This accepts a sequence of values, and moves to the next value after every call to next. The sequence can be something simple as a toggle between states, or a complex sequence generated by a function.