anchor.diff:                      | true, v -> Some(v :?> 'T)
                       | false, _ -> None
           
  -                let affinity = tryGet Settings.AffinityPropertyName
  +                let affinity = tryGet Settings.AffinityProperty
                   let deliveryCount = message.DeliveryCount
  -                let parentId = fromGuid (message.Properties.[Settings.ParentTaskIdPropertyName] :?> Guid)
  -                let streamPos = tryGet Settings.StreamOffsetPropertyName
  +                let parentId = fromGuid (message.Properties.[Settings.ParentTaskIdProperty] :?> Guid)
  +                let streamPos = tryGet Settings.StreamOffsetProperty
                   let lockToken = message.LockToken
                   let body = fromGuid (message.GetBody<Guid>())
  +                let jobId = fromGuid (message.Properties.[Settings.JobIdProperty] :?> Guid)
                   let dequeueTime = DateTimeOffset.Now
                   let info = {
  -                    JobId = body
  +                    JobId = jobId
  +                    ContentId = body
                       ConfigurationId = config
                       MessageLockId = lockToken
                       ParentJobId = parentId
  
positive.code:                     DeliveryCount = deliveryCount
                      DequeueTime = dequeueTime
                  }
                  return Some(JobLeaseToken(info))
          }
  
  
negative.code:         
          member this.GetJob() : Async<CloudJob> = 
              async { 
                  let blob = Blob.FromPath(info.ConfigurationId, info.ParentJobId, info.ContentId)
                  use! stream = blob.OpenRead()
                  let _pos = 
                      match info.Offset with
  