Improved ServiceLocator usage
Store multiple accessed properties in a variable. Done.
used argument validation where it must to be used
using string.Equals and some other changes
Models are simplified by using Catel.Fody features.