A rewrite based on PR comments.  Instead of boolean config values and
needing to get a channel via a function call, put the onus on the user
to provide an AckedChannel and/or a FailedChannel to read the acks /
failures from.