 
 _ = 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

  # Public: Reads and returns CSON, JSON or Plist files and calls the specified
  # callback with the corresponding Object.
  readObject: (objectPath, done) ->
    CSON = require 'season'
    if CSON.isObjectPath(objectPath)
      CSON.readFile(objectPath, done)
    else


  # 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)
