     /** The URL of the NetworkObjects server that this client will connect to. */
     public var serverURL: NSURL
     
+    /** The defualt URL session this store will use for requests. Requests can still be made to the server using another URL session. */
+    public var defaultURLSession: NSURLSession = NSURLSession.sharedSession()
+    
     // MARK: - Private Properties
     
     /** The managed object context running on a background thread for asyncronous caching. */

        })
    }
    
    public func createEntity(name: String, withInitialValues initialValues: [String: AnyObject]?, URLSession: NSURLSession = NSURLSession.sharedSession(), completionBlock: ((error: NSError?, managedObject: NSManagedObject?) -> Void)) -> NSURLSessionDataTask {
        
        let entity = self.managedObjectModel.entitiesByName[name]! as! NSEntityDescription
        

            jsonValues = entity.JSONObjectFromCoreDataValues(initialValues!, usingResourceIDAttributeName: self.resourceIDAttributeName)
        }
        
        return self.createResource(entity, withInitialValues: jsonValues, URLSession: URLSession ?? self.defaultURLSession, completionBlock: { (httpError, resourceID) -> Void in
            
            if httpError != nil {
                
