 
   consumeStatusBar: (bar) ->
     @statusBar = bar
+    disposable = @activateView()
     @updateView @_current
+    disposable

    @subs.add atom.workspace.observeActivePaneItem (item) => @updateForItem item
    @subs.add client.onAttached => @updateForItem()
    @subs.add client.onDetached => @updateForItem()

    @activateView()

  deactivate: ->
    @subs.dispose()

    atom.tooltips.add @dom,
      title: => "Currently working in module #{@current()}"

    # @NOTE: Grammar selector has `priority` 10 and thus set the it to a bit lower
    #        than that to avoid collision that may cause unexpected result.
    @tile = @statusBar.addRightTile item: @dom, priority: 5
    disposable = new Disposable(=>
      @tile.destroy()
      delete @tile)
    @subs.add(disposable)
    disposable

  updateView: (m) ->
    return unless @tile?
    if not m?
      @dom.style.display = 'none'
    else
      {main, sub, inactive, subInactive} = m
      if main is @follow
        return @updateView @lastEditorModule
      @dom.style.display = ''
      @mainView.innerText = main or 'Main'
      if sub
        @subView.innerText = sub
