
In X10, the drawing attributes were bundled into drawing
requests;  that is, the server's drawing model was stateless.

This caused problems with performance and network traffic,
so the X11 redesign included the graphic context to codify
the drawing state.  Most application designers who want to
draw things in several different colors create a GC for
each color during initialization, then pass the GC id in
each drawing request.