Refactored the modloader to support unloading mods, but mod unloading is not supported yet in the concrete implementations.