         let observerObject = NSNotificationCenter.defaultCenter().addObserverForName(BPCompatibleAlertActionEnabledDidChangeNotification, object: action, queue: NSOperationQueue.mainQueue()) { (notification) in
             if self.uiAlertControllerAvailable {
             
-                // This reference to self.alertController has the side effect of preventing ARC from releasing self, which on iOS 7 avoids a crash if the external client code hasn't explicitly retained this alertController.
                 for a in self.alertController.actions {
                     if a.title == action.title {
                         if let internalAction = a as? UIAlertAction {

    case Alert
}

@objc(BPCompatibleAlertController)
public class BPCompatibleAlertController : NSObject, UIAlertViewDelegate {
    let title: String?

    public var releaseResourcesWhenAlertDismissed: Bool = true
    
    private var alertController: UIAlertController!
    private var alertView: BPAlertView!
    private var actions: [String : BPCompatibleAlertAction]
    private var actionObservers: Array<NSObjectProtocol> = []
    public var resourcesHaveBeenReleased: Bool = false
