refractor the JobItem to be a plain old python object; standardized the DAO related activities