Rebase.
Break up __check_job_state - extract new __verify_job_ready method.
Allow dynamic job destinations to throw new JobNotReadyException to indicate delayed decision.

Perhaps wait on some deployer defined limit or resource to become available, etc...