nit: I think it's quite common that we remove a non-latest  message. Need edge case here?