MessageProcessor keeps track messages it has acked, so it doesn't send acks to multiple copies of the same message