the code for updating the select All / deselect All buttons status should be centralized on a unique function