split out exception handling logic for moved keys

want to be able to share this logic in the pipeline context later when packing keys and issuing commands in parallel.
broke them out into separate wrapper methods so it's easier to mock these methods and test behavior.