Refactored to sensible layers & IOC
Added the MVVM Light toolkit