тот, кто подменил this.private получит ключ при первом обращении из любого метода
с этого момента у него есть ключ и он может сам вызывать оригинальный private передавая ему верный ключ
на этом месте упс))
и я не знаю, как решить
подумал даже про readonly-свойство private, но я могу и его обойти через Object.create