getting rid of DescribedType, adding factory for the singleton