added register function, which uses 'checker' to ensure dependencies are loaded before automatically initializing a module