Update and generalize Sequencer