Future<State<T>> get currentState async => StateObject(initValue: initValue) ..change(await _valueController.stream.last);