public string ExecuteTemplate(string liquidSource, dynamic model)
        {
            EnsureTemplateConfigured();

            var templateModel = new StaticShape(model);

            var liquidTemplate = _cacheService.Get(liquidSource, () => Template.Parse(liquidSource));
            return liquidTemplate.Render(new RenderParameters
            {
                LocalVariables = Hash.FromAnonymousObject(new { Model = templateModel }),
                RethrowErrors = true
            });
        }
        public string ExecuteTemplate(string liquidSource, dynamic model, ITemplateRenderingContext templateExecutionContext)
        {
            EnsureTemplateConfigured();

            model.WorkContext = _wca.GetContext();
            var templateModel = new StaticShape(model);

            var liquidTemplate = _cacheService.Get(liquidSource, () => Template.Parse(liquidSource));
            var localVariablesHash = Hash.FromAnonymousObject(new { Model = templateModel });
            localVariablesHash[Constants.TemplateRenderingContextKey] = templateExecutionContext;
            return liquidTemplate.Render(new RenderParameters
            {
                LocalVariables = localVariablesHash,
                RethrowErrors = true
            });
        }