Refacter classes for pre/post hooks

Prior to this commit we had allot going on in the git class
This commit tries to pull more stuff out of there and into thier own class