     aPath ?= @path
     aOptions ?= @options
     Config.load aPath, aOptions, done
-    @
 
   loadSync: (aPath, aOptions)->
     if isObject(aPath)

defineProperty  = require('util-ex/lib/defineProperty')
# Promise         = require('any-promise')
any             = require('promise-sequence/lib/any')
{callbackify}   = require('./callbackify')

if !Promise::asCallback
  Promise::asCallback = (done) ->
    callbackify(this, done)

getKeys     = Object.keys


      if fs.readFileSync && !fs.readFile
        fs.readFile = fs.readFileSync
      else if fs.readFile
        fs.readFilep = promisify fs.readFile, fs
        # fs.readFilep = (aPath, aOptions) ->
        #   new Promise (resolve, reject)->
        #     fs.readFile aPath, aOptions, (err, content) ->
        #       if err then return reject(err)
        #       resolve(content)
        #       return
      Config::path = path = aFileSystem.path if aFileSystem.path
      Config::readFile = readFile = fs.readFilep
      true

Config.setFileSystem require('fs')
