Refactor ReductionRuleBase to take only single TemplateContext argument
Use cached initialized instances of TemplateContainer