Потому что есть вариант еще изящнее, реализуемый через - private static и нативный жабоскриптовый Class.
На первом обращении вызывает конструктор класса, а в самом классе отводим приватное статическое поле, куда кидаем созданный инстанс
И потом, если у нас уже есть инстанс, просто тянем из него затребованное поле по ключу