dispose method
When set to be removed, controllers may have listeners and other references that may create memory dead dependency. dispose should drop such references.
Implementation
@override
void dispose() {
parent.selection.removeListener(handleSelectionChange);
columns.dispose();
rows.dispose();
}