Refactored the way changing the tool triggers setting visible highlights. The change should always ensure better interaction if other components change the tool or highlight state in the future and trigger events.