should we push this through to the jobs model even?  the only direct access to the db at this level is to begin, commit or rollback transactions.