is TYPES part of public api? if not, perhaps this should be class instance var instead?