async cacheLessonHTML() {
        for (let group of this.warehouse.navItems) for (let lesson of group.lessons) {
            let URL;
            if (lesson.title == "Welcome") URL = `/nav/${lesson.url}`;
            else URL = `/lessons/${lesson.url}`;

            console.log("the store cache", lesson.title);

            let htmlString = await (await fetch(URL, {method: "GET", "Content-Type": "text/html"})).text();
            this.parseHTML(lesson.title, htmlString);
            this.warehouse.cache[lesson.title] = htmlString;
            if (!this.renderArea) this.renderArea = document.querySelector(".renderHTML");
            if (!this.feedbackArea) this.feedbackArea = document.querySelector(".renderResultHTML");
            this.refresh.innerHTMLReRender(Math.random());
        }
        /* Preferred: Use for...of for non-destructive iteration over array or object values
        
        this.warehouse.navItems.forEach((group, i) => {
            group.lessons.forEach(async (lesson, j) => {
                let URL;
                if (lesson.title == "Welcome") URL = `/nav/${lesson.url}`;
                else URL = `/lessons/${lesson.url}`;

                console.log("the store cache", lesson.title);

                let htmlString = await (await fetch(URL, {method: "GET", "Content-Type": "text/html"})).text();
                this.parseHTML(lesson.title, htmlString);
                this.warehouse.cache[lesson.title] = htmlString;
                if (!this.renderArea) this.renderArea = document.querySelector(".renderHTML");
                if (!this.feedbackArea) this.feedbackArea = document.querySelector(".renderResultHTML");
                this.refresh.innerHTMLReRender(Math.random());
            });
        });*/

        return this;
    }
/**
     * cacheLessonHTML  ::  Void  ->  store object
     * 
     * Method fetches lesson html templates prerendered by the server and stores their HTML
     *      within this.warehouse.cache. Calls parseHTML method to store DOM objects created
     *      from the server rendered jinja templates and stores them inside the this.parsedHTML object
     * 
     * Returns this to allow for method chaining
     */
cacheLessonHTML  ::  Void  ->  store object

Method fetches lesson html templates prerendered by the server and stores their HTML
within this.warehouse.cache. Calls parseHTML method to store DOM objects created
from the server rendered jinja templates and stores them inside the this.parsedHTML object

Returns this to allow for method chaining
cacheLessonHTML :: Void - > store object Method fetches lesson html templates prerendered by the server and stores their HTML within this . warehouse . cache . Calls parseHTML method to store DOM objects created from the server rendered jinja templates and stores them inside the this . parsedHTML object Returns this to allow for method chaining
async cacheLessonHTML() {
        for (let group of this.warehouse.navItems) for (let lesson of group.lessons) {
            let URL;
            if (lesson.title == "Welcome") URL = `/nav/${lesson.url}`;
            else URL = `/lessons/${lesson.url}`;
            console.log("the store cache", lesson.title);
            let htmlString = await (await fetch(URL, {method: "GET", "Content-Type": "text/html"})).text();
            this.parseHTML(lesson.title, htmlString);
            this.warehouse.cache[lesson.title] = htmlString;
            if (!this.renderArea) this.renderArea = document.querySelector(".renderHTML");
            if (!this.feedbackArea) this.feedbackArea = document.querySelector(".renderResultHTML");
            this.refresh.innerHTMLReRender(Math.random());
        }
        return this;
    }
async cacheLessonHTML ( ) { for ( let group of this . warehouse . navItems ) for ( let lesson of group . lessons ) { let URL ; if ( lesson . title == "Welcome" ) URL = ` ${ lesson . url } ` ; else URL = ` ${ lesson . url } ` ; console . log ( "the store cache" , lesson . title ) ; let htmlString = await ( await fetch ( URL , { method : "GET" , "Content-Type" : "text/html" } ) ) . text ( ) ; this . parseHTML ( lesson . title , htmlString ) ; this . warehouse . cache [ lesson . title ] = htmlString ; if ( ! this . renderArea ) this . renderArea = document . querySelector ( ".renderHTML" ) ; if ( ! this . feedbackArea ) this . feedbackArea = document . querySelector ( ".renderResultHTML" ) ; this . refresh . innerHTMLReRender ( Math . random ( ) ) ; } return this ; }
cacheLessonHTML  ::  Void  ->  store object
cacheLessonHTML :: Void - > store object
/* Preferred: Use for...of for non-destructive iteration over array or object values
        
        this.warehouse.navItems.forEach((group, i) => {
            group.lessons.forEach(async (lesson, j) => {
                let URL;
                if (lesson.title == "Welcome") URL = `/nav/${lesson.url}`;
                else URL = `/lessons/${lesson.url}`;

                console.log("the store cache", lesson.title);

                let htmlString = await (await fetch(URL, {method: "GET", "Content-Type": "text/html"})).text();
                this.parseHTML(lesson.title, htmlString);
                this.warehouse.cache[lesson.title] = htmlString;
                if (!this.renderArea) this.renderArea = document.querySelector(".renderHTML");
                if (!this.feedbackArea) this.feedbackArea = document.querySelector(".renderResultHTML");
                this.refresh.innerHTMLReRender(Math.random());
            });
        });*/