Introduced class structure since it will inevitably have to be used. The
code was tested in QtCreator with QtCreator's Git Support