Generalize the jump protocol

This opens the door to more elaborate functionality.