public function update($id, array $lead, array $options = array())
  {
    $attributes = array_intersect_key($lead, array_flip(self::$keysToPersist));
    if (isset($attributes['custom_fields']) && empty($attributes['custom_fields'])) unset($attributes['custom_fields']);

    list($code, $updatedLead) = $this->httpClient->put("/leads/{$id}", $attributes, $options);
    return $updatedLead;
  }