docs: function (lib, nodeConfig) {
  
              // nodeConfig is optional
              if ( nodeConfig == undefined ) {
                  nodeConfig = {};
              }
  
              // Nodeconfig doesn't need to be an object, but if it is, extend it with certain abstractor settings
              if (typeof nodeConfig == "object") {
                  // Currently only logLevel is inherited from abstractor to node
                  nodeConfig = extend({ logLevel: config.logLevel }, nodeConfig);
              }
  
              if ( !nodes[lib] ) {
                  use( lib );
                  if ( nodes[lib] ) {
                      config.debug && log.log("core", "Imported node " + lib + " on the fly.");  
                  }
              }
  
              if ( nodes[lib] ) {
                  var node = new nodes[lib](nodeConfig);
                  node.log = log;
                  return node;
              } else {
                  log.throw("core", Error("Could not create new " + lib + " node, is it available?"));
              }
  
          }