This may be a more general question but I hope you can still help me. I have following code:   bot.js I created a class which I export using module.exports and can now import in other files. (To keep my code organized)   class SteamBot {        constructor(logOnOptions){        this.client = new SteamUser();        this.community = new SteamCommunity();        this.manager = new TradeOfferManager({            steam: this.client,            community: this.community,            language: 'en'        });         this.logOn(logOnOptions);    }     logOn(logOnOptions){[...]     }     getUserInventory(sid, gameid, contextid, onlyTradeable, callback){        this.manager.getUserInventoryContents(sid, gameid, contextid, onlyTradeable, (err, inventory) => {            if(err){                console.log(err);                callback(new Error('Could not fetch user inventory'), false);            } else {                if(inventory){                    callback(err, inventory)                }            }        })    } } module.exports = SteamBot;  in another file (app.js) I then require the file above (bot.js) and instantiate a new bot:   const SteamBot = require('./bots/bot.js'); const bot = new SteamBot({    accountName: config.botusername,    password: config.botpassword,    twoFactorCode: SteamTotp.generateAuthCode(config.botsharedsecret)});    So far everything works. I can call the function getUserInventory() by typing bot.getUserInventory(). What I am currently trying to solve is: I need to use the function in other files also (more specifically my router files) and I don't want to instantiate a new bot since it wouldn't be practical. How exactly can I do this? Thanks