public MainTemplateContext(MainScriptObject mainScriptObject, CustomFunctionsScriptObject customScriptObject) : base(BuiltinFunctionsScriptObject.Singleton)
        {
            LoopLimit       = 66_666;
            MemberRenamer   = member => member.Name;
            StrictVariables = true;

            PushGlobal(customScriptObject);
            PushGlobal(mainScriptObject);
        }
        public MainTemplateContext(DataScriptObject dataScriptObject, CustomFunctionsScriptObject customScriptObject, IExternalOutput externalOutput) : base(BuiltinFunctionsScriptObject.Singleton)
        {
            LoopLimit                 = 66_666;
            MemberRenamer             = member => member.Name;
            StrictVariables           = true;
            EnableRelaxedMemberAccess = false;

            PushGlobal(customScriptObject);
            PushGlobal(dataScriptObject);
            this.externalOutput = externalOutput;
        }