Removes circular dependency on the internal property `data.`

We want to be able to read / write through to the data property.
We also want to know when new data comes in from the API.