Ah, I see how this was tricky here. What you did is pretty good I think! Maybe consider this too:

- `fetchPatient` is used in multiple places in `app.js`, so good to keep that way and try to re-use it here too
- `fetchPatientData` is only used here, and unlikely to be used anywhere else, so we're pretty free to do what we want with it

One idea would be to do something like:

```javascript
var self = this;
this.fetchPatient(patientId, function(err, patient) {
  self.fetchPatientData(patient);
});
```

Modify `fetchPatient` to accept a callback, and change `fetchPatientData` to something like:

```javascript
fetchPatientData: function(patient) {
  var patientId = patient.id;
  var teamId = patient.team && patient.team.id;
  
  // set state to fetching patient data
  // run `api.patientData.get` and `api.team.getNotes` in parallel
  // and set state to not fetching patient data when done
}
```

We lose the "fetching patient" and "fetching device data" running in parallel but I think that's fine and simplifies things a bit. What do you think?