   tagName: 'div'
   templateName: 'multi-select-option'
 
-  init: ->
-    @labelPathDidChange()
-    @valuePathDidChange()
-
-    @_super()
-
-  # todo: make checked?
   selected: Ember.computed(->
     content = @get('content')
     selection = @get('parentView.selection')

        adjusted = if @index > -1 then @index else -1  # todo: better name (this is for if prompt offset)
        @selected = Ember.EnumerableUtils.indexOf(selectedIndexes, adjusted) > -1

  _triggerChange: ->
    selection = @get('selection') # todo try other syntax
    @selectionDidChange() if not Ember.isNone(selection)

    @_change()

  _change: ->
    # todo: get rid of this proxy fn
    @_changeMultiple()

  _changeMultiple: ->
    options = this.$('input[type=checkbox]:checked')

  # if didn't add isFulfilled, true values were never shown
  ).property('content', 'parentView.selection', 'parentView.selection.isFulfilled')

  labelPathDidChange: (->
    labelPath = Ember.get(this, 'parentView.optionLabelPath') # todo: try other syntax
    return if not labelPath

    Ember.defineProperty(@, 'label', Ember.computed(->
      @get(labelPath)
    ).property(labelPath))
  ).on('init').observes 'parentView.optionLabelPath'

  valuePathDidChange: (->
    valuePath = @get('parentView.optionValuePath')
    return if not valuePath

    Ember.defineProperty(@, 'value', Ember.computed(->
      @get(valuePath)
    ).property(valuePath))
  ).on('init').observes 'parentView.optionValuePath'


App.MultiSelect = Ember.View.extend
