More OO: Refactore GitProgressList (WIP)

Instead of putting everything into GitProgressList and adding more and more fields, use separate classes for the different actions.