Total rewrite of the application. Fully self-contained in the browser now and implements MVVM pattern via KnockoutJS