     @update()
     value
 
-  setDefaults: (keyPath, defaults) ->
-    keys = keyPath.split('.')
-    hash = @defaultSettings
-    for key in keys
-      hash[key] ?= {}
-      hash = hash[key]
-
-    _.extend hash, defaults
-    @update()
-
-  # Public: Establishes an event listener for a given key.
+  # Establishes an event listener for a given key.
   #
   # Whenever the value of the key is changed, a callback is fired.
   #

    callback(value)
    subscription

  update: ->
    return if @configFileHasErrors
    @save()

    @watchSubscription?.close()
    @watchSubscription = null

  setDefaults: (keyPath, defaults) ->
    keys = keyPath.split('.')
    hash = @defaultSettings
    for key in keys
      hash[key] ?= {}
      hash = hash[key]

    _.extend hash, defaults
    @update()

  ### Public ###

  # Retrieves the setting for the given key.
  #
  # keyPath - The {String} name of the key to retrieve
  #
