Refactor

Steve,

Here are most of the changes as outlined from some of my notes in JIRA. Please note the new view on app.js.

There is a lot in this commit. I am sorry for that. There was a lot of changes since last time we'd connected.