code: def write_attribute(key_name, new_value)
        meta = ensure_metadata_exists(key_name)
        @source.delete(meta.source_key)
        @writethrough[key_name] = @cache[key_name] = new_value
      end
docs: Update an attribute.
   @param key_name [Symbol] the attribute to update
   @param new_value [Object] the new value
   @return [Object] the written value