lib/Nexus.js
async function addModule(modName, modZip, fun) {
				//modZip is the uint8array that can be written directly to the cache directory
				if (checkFlag('allow-add-module')) {
					try {
						let newModname = await cacheInterface.addModule(modName, modZip);
						fun(null, newModname);
					} catch(e) {
						fun(e, modName);
					}
				} else {
					let err = 'addModule not permitted in current xGraph process\n'
						+'run xgraph with --allow-add-module to enable';
					log.w(err);
					fun(err);
				}
			}
async function addModule(modName, modZip, fun) {
				//modZip is the uint8array that can be written directly to the cache directory
				if (checkFlag('allow-add-module')) {
					try {
						let newModname = await cacheInterface.addModule(modName, modZip);
						fun(null, newModname);
					} catch(e) {
						fun(e, modName);
					}
				} else {
					let err = 'addModule not permitted in current xGraph process\n'
						+'run xgraph with --allow-add-module to enable';
					log.w(err);
					fun(err);
				}
			}
Add a module into the in memory Module Cache (ModCache)
@param {string} modName 		the name of the module
@param {string} modZip 		the zip of the module
@callback fun 							the callback just returns the name of the module