Lots of refactoring
Merge remote-tracking branch 'origin/master'

Conflicts:
	Desktop Client/Tests/BadMechanics.PristineEdit.Win32.DesktopClient.Tests/Class1.cs