Even if we do remove the observer in `imageDidLoad:`, don't we want to remove the observer here too in case `setImage:` is called with a different image before `imageDidLoad:` occurs?