Acks, some refactoring.

Will add in nack next, to ensure we can re-queue if needed.