       _.setValueForKeyPath(@settings, keyPath, value)
       @update()
     true
-
-  # Extended: Get the {String} path to the config file being used.
-  getUserConfigPath: ->
-    @configFilePath
-
-  # Extended: Returns a new {Object} containing all of settings and defaults.
-  getSettings: ->
-    _.deepExtend(@settings, @defaultSettings)
 
   # Extended: Restore the key path to its default value.
   #


    @emitter.on 'did-change', updateCallback

  # Essential: Add a listener for changes to a given key path. This is different
  # than {::onDidChange} in that it will immediately call your callback with the
  # current value of the config entry.
  #
  # * `keyPath` The {String} name of the key to observe
  # * `callback` The {Function} to call when the value of the key changes.
  #   The first argument will be the new value of the key and the
  #   second argument will be an {Object} with a `previous` property
  #   that is the prior value of the key.
  #
  # Returns a {Disposable} with the following keys on which you can call
  # `.dispose()` to unsubscribe.
  observe: (keyPath, options={}, callback) ->
    if _.isFunction(options)
      callback = options
      options = {}
    else
      message = ""
      message = "`callNow` was set to false. Use ::onDidChange instead." if options.callNow == false
      deprecate "Config::observe no longer supports options. #{message}"

    callback(_.clone(@get(keyPath))) unless options.callNow == false
    @onDidChange(keyPath, callback)

  ###
  Section: get / set
  ###

  # Essential: Retrieves the setting for the given key.

      break unless schema?
      schema = schema.properties[key]
    schema

  # Extended: Returns a new {Object} containing all of settings and defaults.
  getSettings: ->
    _.deepExtend(@settings, @defaultSettings)

  # Extended: Get the {String} path to the config file being used.
  getUserConfigPath: ->
    @configFilePath

  ###
  Section: Deprecated
