Improve protocol robustness and invoke user callbacks.