In ''modules.nas'' the class ''Module'' is defined.
A module object holds information about the path and filename of the Nasal script and supports unloading and reloading the code at runtime
(e.g. without restarting Flightgear as a whole) by tracking some critical resources like listeners and timers.
Parts of this functionality
where added to the addons manager earlier and have been extracted now to avoid code duplication.
=== Differences between add-ons and modules ===
While there are many similarities between add-ons and modules, some words on the differences:
Modules are distributed with
Flightgear as part of FGDATA.Add-ons have to be downloaded separatly by a flightgear user from wherever the author of the add-on publishes the add-on.
Modules can be loaded e.g. by an aircraft if the aircraft developer wants to make use of the module.
Add-ons are selected by the user before launching
Flightgear, thus they may or may not be available at runtime.
== Nasal modules ==