This should be part of the view model's behavior, IMO. You could add a `loading` property to the VM (informed by `didBecomeActiveSignal` and `photoImage`), and then the VC just has to observe that.