Cool! Always good to see someone trying to make animations easier to use.
The naming of the function can be a bit confusing. When I see Shift(shift), I assume this constructs an instance of the class Shift as opposed to calling a function. I'd probably stick to lowercase shift().
Is delay the time each frame is shown?