abstracted commits processing class