dispose method
Tears down any active session (its collaborators own their tickers
and timers). Call from the owning widget's dispose.
Implementation
@override
void dispose() {
final session = _session;
if (session != null) {
session.detachAll(SessionExit.dispose);
_pointerPosition.value = null;
_session = null;
}
_pointerPosition.dispose();
super.dispose();
}