         return [String: AnyObject]()
     }
     
+    /// Get the value for the provided key from a specified file
+    class func getObjectForKey(key: String, fromFile fileName: String) -> AnyObject? {
+        return LocalDataHandler.getDataFromFile(fileName)[key]
+    }
+    
+    
     
 //    MARK: - Helpers
     
     /// Returns the path to a specified file in the documents directory
-    private class func pathToDocumentsFile(fileName: String) -> String {
+    private class func pathToFileInDocumentsDirectory(fileName: String) -> String {
         let documentsPath : String = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0] as! String
         return "\(documentsPath)/\(fileName).plist"
     }


/// File names for model
struct LocalDataFile {
    static let Book = "books"
    static let User = "user"
    static let Crowd = "crowd"
}

    
    /// Overwrites all data in a specified file
    class func setData(data: [String: AnyObject], inFile fileName: String) -> Bool {
        let plistPath = self.pathToFileInDocumentsDirectory(fileName)
        return (data as NSDictionary).writeToFile(plistPath, atomically: true)
    }
    
    
//    MARK: - Getters
    
    /// Get all data from a specified file. Will return an empty dictionary if file does not exist.
    class func getDataFromFile(fileName: String) -> [String: AnyObject] {
        let plistPath = self.pathToFileInDocumentsDirectory(fileName)

        if NSFileManager.defaultManager().fileExistsAtPath(plistPath) {
            return NSDictionary(contentsOfFile: plistPath) as! [String: AnyObject]
