Ну как ничуть не сложнее, экстеншн разве что в своём синглтонном WeakHashMap-е каком-нибудь кешировать данные может, это чуть менее тривиально, чем в обычном методе к приватному полю класса обратиться...
тк все кейсы использования класса не продумаешь, то и подовсе приватные поля не напилишь
мне кажется кеширование должна заниматься вызывающая сторона (и то после профайлирования)