Adds randomicity in generation of the icon.
Splits IconGenerator into two roles: IconGenerator creates the "logic icon" and IconPainter takes the logic icon and renders it painting into a bitmap canvas.