Added interface to add expandability and implement adapter pattern. Moving away from hard coded 'git' implementation. This will make supporting other source controls easier in the future.