anchor.diff:    return stateToken;
   }
   
  -Future<List<Person>> getAllFriends(String accessToken) {
  -  
  -  List<Person> people = <Person>[];
  -  Completer completer = new Completer();
  -  
  -  consumePeople([String nextToken]) {
  +Stream<List<Person>> getAllFriends(String accessToken) {
  +  
  +  StreamController stream = new StreamController();
  +  
  +  Future consumePeople([String nextToken]) {
       return getPageOfFriends(accessToken, nextPageToken: nextToken)
         .then((PeopleFeed feed) {
  -        people.addAll(feed.items);
  +        stream.add(feed.items);
           if (feed.nextPageToken != null) {
             return consumePeople(feed.nextPageToken);
  -        } else {
  -          completer.complete(people);
           }
         });
     }
     
  -  consumePeople().catchError(completer.completeError);
  -  
  -  return completer.future;
  +  consumePeople()
  +      .catchError((e) {
  +        stream.addError(e);
  +      })
  +      .whenComplete(() {
  +        stream.close();
  +      });
  +  
  +  return stream.stream;
   }
   
   Future<PeopleFeed> getPageOfFriends(String accessToken,
  
positive.code:  * Returns a list of friends that have also installed the game.
   */
  void getNewMultiplayerGame(FukiyaContext context) {
  //  int playerId = context.request.session['player_id'].toInt();
  //  db.Persistable.load(playerId, Player).then((Player player) {
  //    
  //  })
  //  .catchError((e) {
  //    _log.warning('Problem loading player $playerId: $e');
  //    context.response.statusCode = 404;
  //    context.response.close();
  //  });
    String accessToken = context.request.session["access_token"];
    getAllFriends(accessToken).then((people) {
      _log.fine('Found friends of current player: $people');
      context.response.headers.add(HttpHeaders.CONTENT_TYPE, 'application/json');
      context.response.write(JSON.stringify(people));
      context.response.close();
    })
    .catchError((e) {
      _log.warning('Problem finding friends: $e');
      context.response.statusCode = 500;
      context.response.close();
    });
  }
  
negative.code:         _log.info('Found the player ${players.first}');
        }
      });
    })
    .catchError((e) {
      _log.warning(e);
      context.response.statusCode = 500;
      context.response.close();
    });
  }
  
  