abstract the LatentCrfModel away from the POS tagging case to be useful for other tasks.