recast font factory to UMCP (uber monstrous collection pattern)