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

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