Allow processor recovery to fail

- for replayed messages that have already been successfully processed
- processor re-implemented to make states and transitions more explicit