Here we introduce the concept of a user agent. A user agent performs actions on the behalf of the user. For example, a human cannot write bits directly onto a hard disk, so an image editor is used to create and modify image resources. The "image editor" acts as the agent for the user. Human-operated or computer-operated user agents create and manage all resources.
A game's resource model is large and complex, with many types of resources. Therefore, creating a game requires many types of user agents, such as programming software, software for creating 2D and 3D art, and sound software. As you might suspect, a display context device such as a game engine, is another type of user agent. User agents are important because it is through a user agent that a creative idea becomes a tangible resource. The process of converting an "intangible" or "conceptual" creative idea into a disk-based resource is called "creative transfer". [Creative transfer is basically the manufacturing side of creative expression.]
Creative ideas are expressed with the user agent and then transferred into the resource model. The relationship between user agents and resources is bi-directional, but not tightly linked. If you change a user agent, or remove a specific user agent from the tool chain, the resources are unaffected. Similarly, if you remove a resource its user agent remains unaffected.