```coffeescript
{CompositeDisposable} = require 'atom'

MinimapBookmarksBinding = null


module.exports =
  active: false

  isActive: -> @active

  activate: (state) ->
    @subscriptions = new CompositeDisposable

  consumeMinimapServiceV1: (@minimap) ->
    @minimap.registerPlugin 'bookmarks', this

  deactivate: ->
    @minimap?.unregisterPlugin 'bookmarks'
    @minimap = null

  activatePlugin: ->
    return if @active

    @active = true

    @minimapsSubscription = @minimap.observeMinimaps (minimap) =>
      MinimapBookmarksBinding ?= require './minimap-bookmarks-binding'
      binding = new MinimapBookmarksBinding(minimap)

      @subscriptions.add subscription = minimap.onDidDestroy =>
        binding.destroy()
        @subscriptions.remove(subscription)
        subscription.dispose()

  deactivatePlugin: ->
    return unless @active

    @active = false
    @minimapsSubscription.dispose()
    @subscriptions.dispose()
```

Implement destroying bindings on deactivation
user
```coffeescript
{CompositeDisposable} = require 'atom'

MinimapBookmarksBinding = null

module.exports =
  active: false

  isActive: -> @active

  bindings: {}

  activate: (state) ->

  consumeMinimapServiceV1: (@minimap) ->
    @minimap.registerPlugin 'bookmarks', this

  deactivate: ->
    @minimap?.unregisterPlugin 'bookmarks'
    @minimap = null

  activatePlugin: ->
    return if @active

    @subscriptions = new CompositeDisposable
    @active = true

    @minimapsSubscription = @minimap.observeMinimaps (minimap) =>
      MinimapBookmarksBinding ?= require './minimap-bookmarks-binding'
      binding = new MinimapBookmarksBinding(minimap)
      @bindings[minimap.id] = binding

      @subscriptions.add subscription = minimap.onDidDestroy =>
        binding.destroy()
        @subscriptions.remove(subscription)
        subscription.dispose()
        delete @bindings[minimap.id]

  deactivatePlugin: ->
    return unless @active

    binding.destroy() for id,binding of @bindings
    @bindings = {}
    @active = false
    @minimapsSubscription.dispose()
    @subscriptions.dispose()
```
assistant