         return ret
     }
     
-    func syncSetInteger(value:Int, forKey key: String) {
-        dispatch_sync(lockQueue) {
+    private func syncSetInteger(value:Int, forKey key: String) {
+        dispatch_async(lockQueue) {
             self.userDefaults().setInteger(value, forKey: key)
         }
     }
     
-    func syncObjectForKey(key: String) -> AnyObject? {
+    private func syncObjectForKey(key: String) -> AnyObject? {
         var ret: AnyObject?
         dispatch_sync(lockQueue) {
             ret = self.userDefaults().objectForKey(key)


public class SBAUser: NSObject, SBAUserWrapper {
    
    let lockQueue = dispatch_queue_create("com.sba.UserLockQueue", nil)

    public func logout() {
        self.sessionToken = nil
        dispatch_sync(lockQueue) {
            self.resetUserDefaults()
            self.resetKeychain()
        }

        return NSUserDefaults.standardUserDefaults()
    }
    
    private func syncBoolForKey(key: String) -> Bool {
        var ret: Bool = false
        dispatch_sync(lockQueue) {
            ret = self.userDefaults().boolForKey(key)
