the `ack` object is transparent to our implementation. If provide something non-null you'll get it back as an Ack message.