Add end to end test. Change to use interfaces. Add beginnings of git plugin.