Tried my best, didn't have Swift network sessions/MVVM experience when I attempted this question.