save abortion reason in exchange to allow handleAbort to use it
refactored annotation processor into separate classes