Added benchmark abstraction class - preparing for threads implemention

Also did some minor code cleanup