JavaScript - извлеките функцию, оставив ее приватной

В настоящее время у меня есть эта структура:

(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);

Работает нормально.private не доступен из внешнего мира, покаprivileged могу назвать это. Но сейчас закрытые части слишком велики, и я надеюсь извлечь их. Я хочу, чтобы он был недоступен извне, но он должен вызываться привилегированными функциями. Есть ли способ достичь этого?

ОБНОВИТЬ:

Выше приведен только пример. Общая проблема заключается в том, что по мере расширения приложения один файл js становится длинным и неуправляемым. Цель состоит в том, чтобы разбить такой файл JS на модуль, не ставя под угрозу конфиденциальность.