     false
 
   subscribeToPackageEvent: (event, callback) ->
-    @packageManagerSubscription = @packageManager.on event, (pack, error) =>
+    @disposables.add @packageManager.on event, (pack, error) =>
       packageName = pack.name
       packageName = pack.pack.name if pack.pack?
       callback(pack, error) if packageName is @pack.name

              @button type: 'button', class: 'btn status-indicator', tabindex: -1, outlet: 'statusIndicator'

  initialize: (@pack, @packageManager, options) ->
    # It might be useful to either wrap @pack in a class that has a ::validate
    # method, or add a method here. At the moment I think all cases of malformed
    # package metadata are handled here and in ::content but belt and suspenders,

      false

  detached: ->
    @disposables.dispose()

  loadCachedMetadata: ->
    @client.avatar ownerFromRepository(@pack.repository), (err, avatarPath) =>
