Ok I see what you're after now. Makes sense - just abstract out all git functionality whether or not it's node native bindings or command line