https://twynedocs.com/blog/how-to-create-a-javascript-object-that-keeps-track