Refactoring of the git process

**Currently work in progress**

The idea is to separate the git operations (clone, pull, push) from the activity itself.