             if let bus = getExisting() {
                 return bus
             } else {
+                // setWebView must be run within a synchronized block
                 objc_sync_enter(Caravel._namedBusInitLock)
                 if let bus = getExisting() {
                     objc_sync_exit(Caravel._namedBusInitLock)

     * Returns custom bus
     */
    public static func get(name: String, webView: UIWebView) -> Caravel {
        if name == "default" {
            return getDefault(webView)
        } else {
            let getExisting = { () -> Caravel? in

     * Caravel has to watch this new component again
     */
    internal func setWebView(webView: UIWebView) {
        if webView.hash == _webView.hash {
            return
        }
        // whenReady() should be triggered only after a CaravelInit event
