Future that completes when the effect is handled (or failed).
Future<T> get result => _completer.future;