refactoring context dependencies for CRF: it uses context declared by each sub-feature without relying on the content type