Allow the addition of a configurable switch on the job that causes CPS to silently not continue on non-serializable code, and a closure that allows you to place arbitrary non-serializable code inline (rather than a method annotation).
def myString = 'adsfasdf'
def firstTwoLetters = null
def matcher = (myString ~= /([a-z]
firstTwoLetters = matcher.group(1)