Introduce pendingColorSelection state to the ColorSelector component that keeps track of the user's color selection.
pendingColorSelection is passed to the ColorSelectorButton component to style the button based on whether it is the actively selected color or not.
setPendingColorSelection is also passed down to the ColorSelectorButton so any "new" color selections will update the pendingColorSelection state in ColorSelector.