Merging KeyColor methods from master
Making note of isKeyColorAppropriate possibly not returning consistent values