Remember when this thread was about "How/Who create the GameObjects?"
Right now, I just make the GameObjects myself, and use something like World::add(GameObject obj) to add it to the game world. I don't use any factories or anything, because my GameObjects have various types of subclasses depending on the game. For instance, a puzzle game has a BoardPiece, a space shooter has a Ship, a sidescroller has BouncySpring, etc. where all these would be subclasses of the class GameObject as defined by my framework.