Moving to a full MVVM architecture

Need to figure out data binding once and for all.