 
 _ = require 'underscore-plus'
 async = require 'async'
+CSON = null # Lazily require
 mkdirp = require 'mkdirp'
+plist = null # Lazily require
 rimraf = require 'rimraf'
 
 # Public: Useful extensions to node's built-in fs module


  # Private: Used by readObjectSync.
  readPlistSync: (plistPath) ->
    plist = require 'plist'
    plist.parseStringSync(@read(plistPath))

  # Private: Used by readObject.
  readPlist: (plistPath, done) ->
    plist = require 'plist'
    fs.readFile plistPath, 'utf8', (error, contents) ->
      if error?
        done(error)

  # Public: Reads and returns CSON, JSON or Plist files and returns the
  # corresponding Object.
  readObjectSync: (objectPath) ->
    CSON ?= require 'season'
    if CSON.isObjectPath(objectPath)
      CSON.readFileSync(objectPath)
    else
