             @emit('change', state)
 
     destroy: =>
-        @redux.removeStore(@name)
+        @emit('destroy')
+        @removeAllListeners()
 
     getState: =>
         return @redux._redux_store.getState().get(@name)

            @_tables[name]._table?.close()
            delete @_tables[name]

    removeStore: (name) =>
        if not name?
            throw Error("name must be a string")
        if @_stores[name]?
            S = @_stores[name]
            S.emit('destroy')
            delete @_stores[name]
            S.removeAllListeners()
            @_redux_store.dispatch(action_remove_store(name))

    removeActions: (name) =>

        if @_actions[name]?
            A = @_actions[name]
            delete @_actions[name]

    getTable: (name) =>
        if not name?
