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);
  });
}