Wrong branch but fuck it, viewmodel is done. Might tweak a bit later, but for now, done!
Merge remote-tracking branch 'origin/KnockoutMadness' into CSS