Added VCS container class for all version control system classes
Tidied up some code smells