     # Set timestamps
     timestamps = @model_update_timestamps(TASK, id, changes, timestamps)
     unless timestamps
-      warn '[task] [update] timestamps is null'
       return null
 
     @model_update_save(TASK, id, changes, timestamps)

  #                                      #
  ########################################

  task_destroy: (id, timestamp) =>

    unless @user.checkModel(TASK, id)
     log '[task] [destroy] could not find:', id
     return null

    model = @user.findModel TASK, id

    # Check that the model hasn't been updated after this event
    timestamp ?= Date.now()
    unless @time.check TASK, id, timestamp
      return null

    # Remove from list
    list = @user.findModel(LIST, model.listId)
    if list.tasks?
      @taskRemove id, list

    # Replace task with deleted template
    @user.setModel TASK, id,
      id: id
      deleted: true

    # Set timestamp
    @time.set TASK, id, 'deleted', timestamp
    log '[task] [destroy] deleted', id

    return true

  list_destroy: (id, timestamp) =>

    console.log 'attempting to destroy list', id

    unless @user.checkModel(LIST, id)
      log '[list] [destroy] could not find:', id
      return null

    model = @user.findModel(LIST, id)

    # Check that the model hasn't been updated after this event
    timestamp ?= Date.now()
    unless @time.check LIST, id, timestamp
      return null

    # Destroy all tasks within that list
    for taskId, i in model.tasks by -1
      @task_destroy taskId, timestamp

    # Replace task with deleted template
    @user.setModel LIST, id,
      id: id
      deleted: yes

    # Set timestamp
    @time.set LIST, id, 'deleted', timestamp
    log '[list] [destroy] deleted:', id

    return true

# -----------------------------------------------------------------------------
# Useful Task Management Methods


    timestamps = @model_update_timestamps(PREF, id, changes, timestamps)
    unless timestamps
      return null

    return @model_update_save(PREF, id, changes, timestamps)
