             return @
 
         remove: =>
-            if @interval
-                clearInterval @interval
-                @interval = null
+            if @timer
+                driver.stop_timer @timer
+                @timer = null
             @progress_bar.remove()
             super()

        fetch_progress: =>
            #Keep ignore in window?
            #We also fetch shards
            ignore = (shard) -> shard('role').ne('nothing')
            query =
                r.db(system_db).table('table_status').get(@model.get('uuid')).do( (table) ->
                    r.branch(
                        table.eq(null),
                        null,
                        table.merge(
                            num_replicas: table("shards").concatMap( (shard) -> shard ).filter(ignore).count()
                            num_available_replicas: table("shards").concatMap( (shard) -> shard ).filter(ignore).filter({state: "ready"}).count()
                            num_shards: table("shards").count()
                            num_available_shards: table("shards").concatMap( (shard) -> shard ).filter({role: "director", state: "ready"}).count()
                        )
                    )
                )

            driver.run query, (error, result) =>
                if error?

            @listenTo @model, 'change:num_available_replicas', @render_status

            @progress_bar = new UIComponents.OperationProgressBar @template.status
            @timer = null

            window.foo = @

