First pass switching away from executing git myself.  Need to do some refactoring but works.