extract runner and git worker classes