Dispose
Cancels crossfade listener and releases base resources.
@override Future<void> dispose() async { _positionSub?.cancel(); await super.dispose(); }