     </Panel>
 
 Problem = React.createClass
-  getInitialState: ->
-    disabled: @props.disabled
-
   onStateToggle: (e) ->
-    apiCall "POST", "/api/admin/problems/availability", {pid: @props.pid, state: !@state.disabled}
-    .done ((api) ->
-      if api.status == 1
-        @setState update @state,
-          disabled: $set: !@state.disabled
-    ).bind this
+    apiCall "POST", "/api/admin/problems/availability", {pid: @props.pid, state: !@props.disabled}
+    .done @props.onProblemChange()
 
   render: ->
     statusButton =
     <Button bsSize="xsmall" onClick={@onStateToggle}>
-      {if @state.disabled then "Enable" else "Disable"}
+      {if @props.disabled then "Enable" else "Disable"}
     </Button>
 
     problemHeader =


ClassifierItem = React.createClass
  handleClick: (e) ->
    @props.setClassifier !@props.active, @props.classifier
    @props.onExclusiveClick @props.name

  render: ->

    if @props.problems.length == 0
      return <h4>No problems have been loaded. Click <a href='#'>here</a> to get started.</h4>

    problemComponents = @props.problems.map ((problem, i) ->
      <Col xs={6} lg={4} key={i}>
        <Problem onProblemChange={@props.onProblemChange} {...problem}/>
      </Col>
    ).bind this

    <Row>
      {problemComponents}
    </Row>

ProblemTab = React.createClass
  propTypes:
