JavaScript: extraiga la función mientras la mantiene privada

Actualmente tengo esta estructura:

(function(myScope) {
  myScope.public = function() {alert("I'm public!")};
  myScope.privileged = function() {alert("I can call private!"); private();};
  var private = function() {alert("I'm private!")};
})(window.myObj);

Funciona bien.private no es accesible desde el mundo exterior mientrasprivileged puede llamarlo Pero ahora las partes privadas son demasiado grandes, de modo que espero extraerlas. Quiero mantenerlo inaccesible desde el exterior, pero debe ser invocado por las funciones privilegiadas. ¿Hay alguna manera de lograr eso?

ACTUALIZAR:

Lo anterior es solo un ejemplo. El problema general es que a medida que la aplicación se extiende, el archivo js solo se vuelve largo e inmanejable. El objetivo es dividir dicho archivo js en un módulo, sin comprometer la privacidad.

Respuestas a la pregunta(1)

Su respuesta a la pregunta