DO NOT MERGE - Zee breaks everything

1. Watch your scoping. You were sticking all your application state in the global scope instead of attaching them to objects or hiding them in functions.
2. Look for functions that require the same data and consider grouping them into an object
3. Wait to execute your application code until after the DOM has finished loading.