I don't think the data model (this class) should be downloading data. That should be the job of the View Controller. The data model should be dumb and simply parse and store the data; one can even argue that the parsing could be separated out into its own class.