     $container.
       find('.task-list-item').addClass('enabled').
       find('.task-list-item-checkbox').attr('disabled', null)
-    $container.trigger 'tasklist:enabled'
+    $container.addClass('is-task-list-enabled').
+      trigger 'tasklist:enabled'
 
 disableTaskList = ($container) ->
   $container.
     find('.task-list-item').removeClass('enabled').
     find('.task-list-item-checkbox').attr('disabled', 'disabled')
-  $container.trigger 'tasklist:disabled'
+  $container.removeClass('is-task-list-enabled').
+    trigger 'tasklist:disabled'
 
 # Updates the $field value to reflect the state of $item.
 # Triggers the `tasklist:change` event when the value has changed.

$(document).on 'change', '.task-list-item-checkbox', ->
  updateTaskList $(this)

$(document).on 'tasklist:disable', '.js-task-list-container', (event) ->
  disableTaskList $(this)

$(document).on 'tasklist:enable', '.js-task-list-container', (event) ->
  enableTaskList $(this)

$.pageUpdate ->
  $('.js-task-list-container').each ->
    enableTaskList $(this)

  index      = 1 + $container.find('.task-list-item-checkbox').index($item)
  checked    = $item.prop 'checked'

  $container.trigger 'tasklist:changing', [index, checked]
  $field.val updateTaskListItem($field.val(), index, checked)
  $field.trigger 'change'
  $field.trigger 'tasklist:change', [index, checked]
