e.g. I'm on image 1, I go to load image 2 but quickly move back to image 1. When the image 2 load callback fires, it replaces image 1 (which I'm viewing), replaces the metadata, and fails to update the URL. Going to the next image brings me to image 2 again, which is confusing.
Solution: Probably clear all callbacks in this case, somehow. Or check that the image we're loading in the callbacks is the image we're currently on. Or use nonces for image load callbacks so we know which one to listen to.