Future<String> getAsString() { var completer = new Completer<String>(); _getAsString( (value) { completer.complete(value); }); return completer.future; }