So, what do you think?
Just wanted to say well done, it’s coming along nicely. One thing I have spotted that wanted to mention, is be careful of global variables. They can cause hours of headaches (learnt from experience) if not assigned right and you can get unexpected behaviour from them.
I hope that helps a bit, I found the revealing module pattern to be very useful and use it on a weekly basis in my job.