I agree the meaning of 'common' has lost much of its meaning. Ideally, maybe for version 2.0, I would really like to do this, each being a directory: base (or lib): Very basic functions - load & saving objects, loading archetype, etc. engine: Goes on top of base, and is the basic for the game, which allows basic actions but nothing complex (ie, movement, but not spellcasting or attacking), etc. Would include communication with client. rules (or system): Customizable for type of game. IE, if you want to do a SF game instead of fantasy, you would replace this directory (and archetypes) with your own. This is where spell and god stuff would go. socket would remain largely unchanged (but there are issues as the communication is a bit specialized, but I imagine that could be extended easily enough (I'm thinking of things like the stats - maybe you don't want power but instead psionics. But it would be easy enough to just add flags for all the different stats) I don't really know the likelihood that happening, as it would be a bit of work, and to be feasible, would require a lot of stuff to be more generalized. In the shorter term, the direction of the editor needs to be determined. I have heard discussions that a new one needs to be written, the old is fine, and what language if any the new one will be written in. If it is written in non C, then obviously it will have to roll its own version of the basic functions, and the split is then less relevant.