added transactional worker callback