Colorise only if we mean to

Parse the flag into an intermediate variable, otherwise it's
enabled immediately.

Then, turn the main variable on ONLY if the intermediate is set,
AND the various preconditions are satisfied
reset only if we changed the colors