simplified the color factory, made changes elsewhere; will look at dispose on garbage collection later