I think this is a good idea! It will separate the implementation and the interface, allowing a free switch between different Git client. :+1: