Enviar por SMS: Preventing atomicity violations with contracts