i find that you can do a lot by building a simple arpeggiator sequence of just 3 or 4 notes, and then send messages to do things like:  retrigger, reverse, transpose, change speed, etc