             id    : id
             state : 'done'
             output : [out]
+        ###


    run_code_cell: (id) =>
        @_set
            type  : 'cell'
            id    : id
            state : 'start'

    run_selected_cells: =>
        v = @store.get_selected_cell_ids_list()

        dbg = @dbg("manager_run_cell")
        dbg()
        cell = @store.get('cells').get(id)
        input = (cell.get('input') ? '').trim()
        if input.length == 0
            @_set
                type   : 'cell'
                id     : id
                state  : null
                output : []
            return

        @_sage_session ?= @_client.sage_session(path : @_directory)
        outputs = []
        state = 'running'
        @_set
            type   : 'cell'
            id     : id
            state  : 'running'
            output : outputs
        @_sage_session.call
            input : input
            cb    : (mesg) =>
                outputs.push(mesg)
                if mesg.done
                    state = 'done'
                @_set
                    type   : 'cell'
                    id     : id
                    state  : state
                    output : outputs
        ###

        @_set
            type  : 'cell'
            id    : id
            state : ''
            output : []
        try
            out = "#{eval(cell.get('input'))}"
        catch e
