refactor icon drawing - allowing null colors in any icon state - shapes with null colors are not created or drawn