Add `nack` support to existing transports and review FailureWorker approach.

The landing #392 introduces some questions on how we deal with failures, who should be responsible for that and when `nack`s are generated.

This needs to be discussed.