The base step executor is supposed to pass through failed messages, but it does not. It may be a scoping / timing issue with the failed message array.