All user-visible changes are on the "existing PIN" operation, but the other two operations needed some refactors.