If you are not familiar with the last function, wrapped with brackets without a name, it is a common technique for limiting the scope of functions.
the initialize function is only made known to our event listener and therefore, not a global function.