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() {
// When the controller is disposed, only detach it from the widget tree.
_detach();
}