 
     Timeout.clear(timeout) for _name, timeout of @timeouts
     xhr?.abort() for _name, xhr of @xhr
+    @disposers.forEach (disposer) => disposer?()
 
 
   render: =>

    $(document).on "click.#{@eventId}", '.js-beatmap-discussion--jump', @jumpToClick
    $(document).on "turbolinks:before-cache.#{@eventId}", @saveStateToContainer

    @jumpToDiscussionByHash() if !@restoredState
    @timeouts.checkNew = Timeout.set @checkNewTimeoutDefault, @checkNew



    @checkNewTimeoutDefault = 10000
    @checkNewTimeoutMax = 60000
    @cache = {}
    @disposers = new Set
    @timeouts = {}
    @xhr = {}
    @state = JSON.parse(props.container.dataset.beatmapsetDiscussionState ? null)
