Closures in JS are pretty hard to wrap your head around at first