Added external module unloading
Made reloadModule() actually async-friendly