I've now pushed an update to the DependentModules branch that largely deals with the outstanding issues.
It is no longer necessary to load a module immediately after saving it. saveModule puts the saved module into the same storage as loaded modules.
When a module is saved it is only dependent on other modules if it actually uses something from them. This needs a bit more work since it is currently possible for a module to inadvertently share immutable data particularly if PolyML.shareCommonData has been called.
The signature for a module is now derived from a hash of the contents itself rather than a time-stamp. It may be a good idea to combine the two to ensure that the the signatures are properly unique.
There are some new functions including PolyML.SaveState.showLoadedModules to display the current module and PolyML.SaveState.getModuleInfo to get the signature and dependencies of a module in the file system.
David