Added the JobClient and fixed some stuff to make eveyrthing generic