Oops!
A reader pointed out that I had made a mistake in my last post about game structure. I suggested that GameScreen have a GameComponentCollection. However, the constructor for that type is internal, so that's not going to work. Sorry guys. Fortunately, there wasn't anything in the design that needed any GameComponentCollection functionality, so just about any old collection would work fine. I'd probably use List<GameComponent>, myself.
Also, a few people have written asking for the code for the design. If this is something you'd like to see, feel free to leave a comment. It's not that complicated, compared to other parts of game programming, so I didn't think there would be much of a demand. Maybe I was wrong though. I may not be able to post all of it, though. Is there one part in particular that's more difficult?