                     err_on_exit: false
                     timeout    : 120
                     cb         : (err, out) =>
-                        @_set_to(loading : false)
+                        @setState(loading: false)
                         cb(err, out)
         ], (err, output) =>
-            @_set_to(error : err, extract_output : output.stdout)
+            @setState(error: err, extract_output: output.stdout)
         )
 
-class ArchiveStore extends Store
-    _init: (flux) =>
-        ActionIds = flux.getActionIds(@name)
-        @register(ActionIds._set_to, @setState)
-        @state = {}
-
-exports.init_flux = init_flux = (flux, project_id, filename) ->
-    name = flux_name(project_id, filename)
-    if flux.getActions(name)?
+exports.init_redux = init_redux = (redux, project_id, filename) ->
+    name = redux_name(project_id, filename)
+    if redux.getActions(name)?
         return  # already initialized
-    actions = flux.createActions(name, ArchiveActions)
-    store   = flux.createStore(name, ArchiveStore)
-    store._init(flux)
+    actions = redux.createActions(name, ArchiveActions)
+    store   = redux.createStore(name)
 
 ArchiveContents = rclass
     render : ->


        ], (err, info, type, contents) =>
            if not err
                @_set_to(error : err, info : info.stdout, contents : contents.stdout, type : type)
        )

    extract_archive_files : (project_id, path, type, contents) ->

                args = args.concat(extra_args).concat([path_parts.tail]).concat(post_args)
                args_str = ((if x.indexOf(' ')!=-1 then "'#{x}'" else x) for x in args).join(' ')
                cmd = "cd #{path_parts.head} ; #{command} #{args_str}"
                @setState(loading: true, command: cmd)
                salvus_client.exec
                    project_id : project_id
                    path       : path_parts.head
