Layers and layers.
A kernel just for messages of the loader, in several languages.
Then a lib layer for provide the basic instruction and infrastructure to build games.
And the game layer (end user layer) where the game is created.
Data elements:
Kernel Messages
Created in kernel level
Messages
Created in lib level and game level
Items of the game
Four [Item Types]: loc, obj, pc and npc
Created in game level
Actions
Created in lib level and game level
Attribute Definitions
Created in lib level and game level
Reaction to actions
Created in lib level and game level (two sublevels: game.general and game.item).
World turn
Created in game.item level
Internal data of items
Created in game.item level.