@override Future<Stream<Position>?> get positionStream async { if (cachedPositionStream != null) return cachedPositionStream; return await initPositionStream(); }