Ensure always on set by sidebar state

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.