Moved the PageResource -> ImageResource stuff out of the model, as it should logically have been all along, added an extra asynchronous fetch step to make sure we collect these things.