Extract holder

Separated class for context holding and constraint production.