 
 InputOutputComponent = React.createClass
   displayName: 'InputOutputComponent'
+  mixins: [React.addons.PureRenderMixin]
   render: ->
-    React.DOM.div {className: 'io'}, @props.input_cell?.component, @props.output_cell?.component
+    React.DOM.div {className: 'io'},
+      @props.input_cell?.component cell: @props.input_cell, key: @props.input_cell.key
+      @props.output_cell?.component cell: @props.output_cell, key: @props.output_cell.key
 
 DocumentComponent = React.createClass
   displayName: 'DocumentComponent'

  editor = Editor.create_editor ->
  cell =
    type: 'input'
    visible: true
    active: true
    notebook: notebook

    cell.notebook.cell_focused.push cell
  , 0

OutputCellComponent = React.createClass
  displayName: 'OutputCellComponent'
  mixins: [React.ObservableMixin, React.addons.PureRenderMixin]
  get_observable: -> @props.cell.component_model
