Future<dynamic> makeFuture(String id) { var completer = Completer(); if (id != null) { _pendingFutures[id] = FutureCallback(completer: completer, ts: DateTime.now()); } return completer.future; }