Photos: move download logic out of the view object