dispose method
Implementation
@override
void dispose() {
if (timer != null) timer!.cancel();
if ((scope != null) && (scope != System().scope))
scope!.removeDataSource(this);
if ((framework != null) && (framework!.indexObservable != null))
framework!.indexObservable!.removeListener(onIndexChange);
super.dispose();
}