       delete changes.tasks
       delete timestamps.tasks
 
-    return @model_update_save(LIST, id, changes, timestamps)
+    @model_update_save(LIST, id, changes, timestamps)
+
+    changes.id = id
+    return changes
+
+
+  ###
+   * Update Pref
+   *
+   * - changes (object)
+   * - timestamps (timestamps)
+   * > changes
+  ###
 
   pref_update: (changes, timestamps) =>
 
     # Pref id is always s0
     id = PREF_ID
 
-    # Set timestamp
-    if timestamps
-      for attr, time of timestamps
-        old = @time.get PREF, id, attr
-        if old > time
-          delete timestamps[attr]
-          delete changes[attr]
-      if Object.keys(changes).length is 0
-        warn '[pref] [update] old event', id
-        return null
-    else
-      timestamps = {}
-      now = Date.now()
-      for key of changes
-        timestamps[key] = now
-
-    @time.set PREF, id, timestamps
-
-    # Save to server
-    model = @user.updateModel PREF, id, changes
-    log '[pref] updated', changes
-
-    return changes
+    timestamps = @model_update_timestamps(PREF, id, changes, timestamps)
+    unless timestamps
+      warn '[pref] [updaet] timestamps is null'
+      return null
+
+    return @model_update_save(PREF, id, changes, timestamps)
 
 
 

  ###
   * (private) Update Model
   *
  ###

  model_update_setup: (classname, changes, timestamps) =>

      return false

    return true


  ###
   * (private) Model Update Timestamps
   *
   * Handle timestamps for an update event
   *
   * - classname (string)
   * - id (string)
   * - changes (object)
   * - timestamps (object)
   * > timestamps
  ###

  model_update_timestamps: (classname, id, changes, timestamps) ->

