Added AbstractJob class