First part of the changes for Sprite variants. Note, this does not yet
compile!