Instead of keeping track of unique identifiers, keep track of weak pointers to the pokemon, so we can just try and upgrade them later.