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