perform moduleInit3 AFTER registering the module.
This allows for #initialize to be interrupted or err
without getting out-of-sync with the VM's view of loaded
modules. Otherwise, interrupting while in #initialize would
leave the VM with a loaded, but ObjFileLoader without a registered
moduel - thus, this module could not be unloaded.