It is correct to explain.
A thread running an algorithm to change a value can be whatever in the context of a mechanical (only ?) system simulation. It is feasible to imagine fuel, decreasing, in a "threaded" autonomous way, while time passes, with a define model of variation. With the code done, and the interface foreseeing the capability to receive a "set" of the parameter name (that's the parameter nature of course, eg: fuel), it can be reused. The observer/observable double mutual pattern, collision with fuel tanks can be notified to the parameter thread, and fuel increased. Thus establishing a relation between the value, changing by itself, and what happens in the virtual environment. Every new parameter, with its own meaning add more virtual devices and multiplicity to the simulation scenario, increasing the number of data types.