dispose method
void
dispose()
Implementation
void dispose() {
controller.removeListener(scrollListener);
// Upon setState ocurrencies, multiple instances of the same list may exist.
// We're delaying the disposal so a new instance can cancel it and use the same state
// so the transition between instances can be smoother.
mutable.timer = Timer(const Duration(milliseconds: 100), () {
mutable.dispose();
_listState.remove(id);
});
}