Since $TYPES is declared private, accessing it with static will lead to errors in possible sub-classes
Access static members with static:: to prevent errors in possible sub-classes