whyUseWeakMapIfYouGotNormalMap