             "flags": flags
         ]
 
+        var previousStrategy : [NSObject : AnyObject]! = strategy
         for handler in urlHandlers {
             let url = strategy["url"]! as! String
-            let val = handler.callWithArguments([url, options])
+            let val = handler.callWithArguments([url, options, previousStrategy])
 
             if !val.isUndefined() {
                 let handlerStrategy = val.toDictionary()

                        break
                    }
                }
            }
        }
        return strategy


    public class func callUrlHandlers(originalUrl: NSURL, sourceBundleIdentifier: String?, flags : Dictionary<String, Bool>) -> Dictionary<String, AnyObject> {
        var strategy : Dictionary<String, AnyObject> = [
            "url": originalUrl.absoluteString!
        ]
        
        var sourceBundleId : AnyObject
