       """
 
   unobserveUserConfig: ->
-    @watchSubscription?.close()
+    @watchSubscription?.dispose()
     @watchSubscription = null
 
   notifyFailure: (errorMessage, detail) ->

    return if @shouldNotAccessFileSystem()

    try
      @watchSubscription ?= pathWatcher.watch @configFilePath, (eventType) =>
        @requestLoad() if eventType is 'change' and @watchSubscription?
    catch error
      @notifyFailure """
        Unable to watch path: `#{path.basename(@configFilePath)}`. Make sure you have permissions to

CSON = require 'season'
path = require 'path'
async = require 'async'
{watchPath} = require './path-watcher'
{
  getValueAtKeyPath, setValueAtKeyPath, deleteValueAtKeyPath,
  pushKeyPath, splitKeyPath,
