Compartir y modificar una variable entre varios archivos node.js

main.js
var count = 1;

// psuedocode
// if (words typed begins with @add)
require('./add.js');

// if (words typed begins with @remove)
require('./remove.js');

// if (words typed begins with @total)
require('./total.js');



module.exports.count = count;
total.js
var count = require('./main.js').count;
console.log(count);
add.js
var count = require('./main.js').count;
count += 10;
console.log(count);
remove.js
var count = require('./main.js').count;
count -= 10;
console.log(count);
console.log
 1
 11
 -9
Fondo:

Tengo una aplicación (irc bot), y quiero agregar una función que peps puede hacer @add 1 o @remove 1. Tengo un main.js que luego requiere diferentes archivos dependiendo de los disparadores que se dicen. Entonces add agregaría el archivo add.js, y eso requeriría ('main.js') y agregaría 10 (10 para simplificar, en realidad analizará el número y usará ese número). El problema que estoy teniendo es cuando alguien anda y hace @remove. Requiere ('main.js') y resta 10 de 1 dando como resultado -9. Y haciendo @total saldría 1.

He hecho una búsqueda bastante buena para module.exports y no he encontrado un ejemplo como el que he mencionado anteriormente.Los docs no incluya ningún ejemplo cercano a lo que quiero hacer; y estas preguntas1, 2 Entiendo, pero no me son de ninguna utilidad, como entiendo lo que se dice allí.

Pregunta:

Me gustaría que tanto @add como @remove manipulen la misma variable (count), y que @total devuelva el total del conteo con @add y @removes tomados en cuenta. Estoy usando module.exports incorrectamente; ¿O hay una forma común de compartir las variables, con un archivo que puede modificar el contenido de module.exports y devolver los resultados al archivo main.js?

Respuestas a la pregunta(5)

Su respuesta a la pregunta