i moved the coloring decision from Cube to CubeUserControl. i replaced the internal list of cell ids with a list of objects representing the cells.