                 _swiftyJson = SwiftyJSON.JSON(_data!)
             }
             callback(json: _swiftyJson)
-            return
-        }
-        return self
+        }
+        return self
+    }
+
+    var _internalCallbackComplete : ((models: [T]) -> Void)?
+    internal func internalComplete(callback: ((models: [T]) -> Void)) {
+        _internalCallbackComplete = callback
     }
     
     public func complete(callback: ((models: [T]) -> Void)) -> Self {
-        completeJSON { [weak self] (json: SwiftyJSON.JSON) in
+        var internalCallbackComplete = _internalCallbackComplete
+        completeJSON { (json: SwiftyJSON.JSON) in
             var models = InstagramerModelCreate<T>.create(json)
+            if let valid = internalCallbackComplete {
+                    valid(models: models)
+            }
             callback(models: models)
-            return
-        }
+        }
+        
         return self
     }
 

    var _location       : InstagramerLocation
    var _comments       : JSON
    var _filter         : String
    var _created_time   : String
    var _link           : String
    var _likes          : JSON
    var _images         : InstagramerMediaResolution

        _clientId = clientId
    }
    
    private func accessParams() -> [String: AnyObject] {
        if let accessToken = _accessToken {
            return ["access_token": accessToken]
        } else {
