Throwing exceptions when a step fails instead of just logging errors as that was resulting in completely silent failures that were impossible to diagnose on AWS