the timer job id is now passed to a timer job function so that it can change its own status (including deregistering itself if need be)