         }
     }
 
-    public func performSegueWithIdentifier(identifier: String, sender: AnyObject? = nil, context: Any?) -> SegueContext {
-        return self.performSegueWithIdentifier(identifier, sender: sender, context: context, callback: nil)
-    }
-
-    public func performSegueWithIdentifier(identifier: String, sender: AnyObject? = nil, callback: Any?) -> SegueContext {
-        return self.performSegueWithIdentifier(identifier, sender: sender, context: nil, callback: callback)
-    }
-
-    public func performSegueWithIdentifier(identifier: String, sender: AnyObject? = nil, context: Any?, callback: Any?) -> SegueContext {
+    public func performSegueWithIdentifier(identifier: String, sender: AnyObject? = nil, context: Any?) {
+        self.performSegueWithIdentifier(identifier, sender: sender, context: context, callback: nil)
+    }
+
+    public func performSegueWithIdentifier(identifier: String, sender: AnyObject? = nil, callback: Any?) {
+        self.performSegueWithIdentifier(identifier, sender: sender, context: nil, callback: callback)
+    }
+
+    public func performSegueWithIdentifier(identifier: String, sender: AnyObject? = nil, context: Any?, callback: Any?) {
 #if !DISABLE_SWIZZLING
+        objc_sync_enter(self.dynamicType)
+
         self.replacePrepareForSegueIfNeeded()
 #endif
 

//

import UIKit

// MARK: - SegueContext

public class SegueContext {
}

// MARK: - Context



        self.performSegueWithIdentifier(identifier, sender: sender)

#if !DISABLE_SWIZZLING
        objc_sync_exit(self.dynamicType)
#endif
    }

    public func presentViewControllerWithStoryboardName(storyboardName: String, identifier: String? = nil, bundle: NSBundle? = nil, animated: Bool = true, transitionStyle: UIModalTransitionStyle? = nil, context: Any? = nil, callback: Any? = nil) {
