function generateExtendedColors(colorList, extendedColorWays) {
    var i;
    var colorString = JSON.stringify(colorList);
    var colors = extendedColorWays[colorString];
    if(!colors) {
        colors = colorList.slice();

        for(i = 0; i < colorList.length; i++) {
            colors.push(tinycolor(colorList[i]).lighten(20).toHexString());
        }

        for(i = 0; i < colorList.length; i++) {
            colors.push(tinycolor(colorList[i]).darken(20).toHexString());
        }
        extendedColorWays[colorString] = colors;
    }

    return colors;
}
pick a default color from the main default set, augmented by
itself lighter then darker before repeating