add async job to queue
Future<T> add<T>(Function job) { var completer = Completer<T>(); this._queue.add(_Item(completer, job)); this._check(); return completer.future; }