Dart Future and Completer features ported to javascript.