VersionControlFactory example added for FactoryMethod pattern