code: function(config){
          
          if(isString(config)){
              this.config.appBase = config;
          }else if(isObject(config)){// If the config object is provided
              this.config = Object.assign(this.config, config);
          }
  
          // If the app base isn't provided
          if(!this.config.appBase){
              this.config.appBase = utils.getAppLocalPath();
          }else if(this.config.appBase.length && this.config.appBase[this.config.appBase.length-1] !== '/'){
              this.config.appBase += '/';
          }
  
          // If the layouts list was passed in the config
          if(this.config.layouts && isObject(this.config.layouts)){
              Object.keys(this.config.layouts).forEach(key => {
                  layouts.add(key, this.config.layouts[key]);
              });
          }
  
          // If the dev mode is on
          if(this.config.devMode === true){
              // Attach some shortcuts
              Application.on('ready', function(){
  
                  // Ctrl+F12 to toggle the dev tools
                  Shortcuts.register('CmdOrCtrl+F12', function(){
                      const window = windowManager.getCurrent();
                      if(window) window.toggleDevTools();
                  });
  
                  // Ctrl+R to reload the page
                  Shortcuts.register('CmdOrCtrl+R', function(){
                      const window = windowManager.getCurrent();
                      if(window) window.reload();
                  });
  
              });
          }
  
          // If a default setup is provided
          if(this.config.defaultSetup){
              this.setDefaultSetup(this.config.defaultSetup);
              delete this.config.defaultSetup;
          }
      }
docs: Initiate the module
  @param config The configuration for the module