we probably should use another mechanism to detect defaults. Like a default object reference we compare against. Otherwise you can have conflicts on matching colors that aren't the default