major refactoring to remove redundancy
major refactoring to remove redundancy

martinsch/vigra,timoMa/vigra,cbecker/vigra,cbecker/vigra,mmuellner/vigra,timoMa/vigra,cbecker/vigra,dagophil/vigra,funkey/vigra,funkey/vigra,hmeine/vigra,cha007/vigra,xiwei-zhang/vigra,xiwei-zhang/vigra,DaveRichmond-/vigra,martinsch/vigra,kod3r/vigra,psteinb/vigra,timoMa/vigra,timoMa/vigra,martinsch/vigra,stuarteberg/vigra,psteinb/vigra,dstoe/vigra,kod3r/vigra,ThomasWalter/vigra,dstoe/vigra,funkey/vigra,dagophil/vigra,cbecker/vigra,cha007/vigra,dagophil/vigra,mmuellner/vigra,timoMa/vigra,dagophil/vigra,ThomasWalter/vigra,hmeine/vigra,capturePointer/vigra,hmeine/vigra,stuarteberg/vigra,cha007/vigra,DaveRichmond-/vigra,DaveRichmond-/vigra,dstoe/vigra,mmuellner/vigra,funkey/vigra,hmeine/vigra,xiwei-zhang/vigra,stuarteberg/vigra,ThomasWalter/vigra,hmeine/vigra,capturePointer/vigra,funkey/vigra,hmeine/vigra,mmuellner/vigra,martinsch/vigra,capturePointer/vigra,kod3r/vigra,xiwei-zhang/vigra,hmeine/vigra,kod3r/vigra,DaveRichmond-/vigra,cha007/vigra,dagophil/vigra,kod3r/vigra,stuarteberg/vigra,stuarteberg/vigra,kod3r/vigra,timoMa/vigra,martinsch/vigra,timoMa/vigra,mmuellner/vigra,martinsch/vigra,capturePointer/vigra,cha007/vigra,psteinb/vigra,ThomasWalter/vigra,dstoe/vigra,psteinb/vigra,funkey/vigra,capturePointer/vigra,cbecker/vigra,psteinb/vigra,cbecker/vigra,DaveRichmond-/vigra,DaveRichmond-/vigra,cha007/vigra,xiwei-zhang/vigra,ThomasWalter/vigra,stuarteberg/vigra,dagophil/vigra,dstoe/vigra,ThomasWalter/vigra,funkey/vigra,dagophil/vigra,psteinb/vigra,xiwei-zhang/vigra,stuarteberg/vigra,dstoe/vigra,capturePointer/vigra,dstoe/vigra,DaveRichmond-/vigra,capturePointer/vigra,kod3r/vigra,cha007/vigra,mmuellner/vigra,xiwei-zhang/vigra,mmuellner/vigra,ThomasWalter/vigra,psteinb/vigra