Currently, the FlowTaskWorker handles errors and returns "successful" results with a error payload.
We should change this to actually throwing and making the queue implementations handle the errors. This way we can benefit from queue-specific retrying, error reporting, etc.