When set to be removed, controllers may have listeners and other references that may create memory dead dependency. dispose should drop such references.
@override void dispose() { userSelections.dispose(); }