anchor.diff:    }
   }
   
  -/// Adds the last date of activity to the given member.
  -_addLastActiveDate(_Member member, isXbox) async {
  +/// Adds some Destiny data to the given member.
  +_addDestinyData(_Member member, isXbox) async {
     // Note: specifiying the platform type does not seem to matter, a result is
     // always returned for a valid membership id.
     var type = isXbox ? 'TigerXbox' : 'TigerPSN';
     var url = 'http://www.bungie.net/Platform/Destiny/${type}/Account/${member.destinyId}/';
  -  var data = await _doGet(url);
  -  var characters = data['Response']['data']['characters'];
  +  var data = (await _doGet(url))['Response']['data'];
  +
  +  // Last played date.
  +  var characters = data['characters'];
     var playTime = characters.fold(new DateTime(1900), (time, character) {
       var lastPlayTime = DateTime.parse(character['characterBase']['dateLastPlayed']);
       return lastPlayTime.compareTo(time) > 0 ? lastPlayTime : time;
     });
     member.activeTime = playTime;
  +
  +  member.grimoireScore = data['grimoireScore'];
   }
   
   /// Adds Destiny-related activity data to the given member.
   _addActivityData(_Member member, isXbox) async {
     await _addMembershipId(member);
     if (member.playsDestiny) {
  -    await _addLastActiveDate(member, isXbox);
  +    await _addDestinyData(member, isXbox);
     }
   }
   
  
positive.code: 
    int _membershipId;
    DateTime _lastActiveDate;
  
    _Member(this._username, String memberId, this._consoleName, DateTime approvalDate) :
        _bungieId = int.parse(memberId),
  
negative.code:   return roster.length < int.parse(total);
  }
  
  /// Adds a Destiny-specific id to the given user.
  _addMembershipId(_Member member) async {
    var url = 'http://www.bungie.net/Platform/User/GetBungieAccount/${member.bungieId}/254/';
    var data = await _doGet(url);
  