 Use Alert or ActionSheet instead
 */
 public class LKAlertController {
+	///UIAlertActions callback
     public typealias actionHandler = UIAlertAction! -> Void
     
     ///Internal alert controller to present to the user
     internal var alertController: UIAlertController
-    
+	
+	///Internal storage of view to present in
+	internal var presentationSource: UIViewController? = nil
+	
+	///Internal storage of time to delay before presenting
+	internal var delayTime: NSTimeInterval? = nil
+	
     ///Internal static variable to store the override the show method for testing purposes
     internal static var alertTester: ((style: UIAlertControllerStyle, title: String?, message: String?, actions: [AnyObject], fields: [AnyObject]?) -> Void)? = nil
     

    public override func addAction(title: String, style: UIAlertActionStyle, handler: actionHandler?) -> ActionSheet {
        return super.addAction(title, style: style, preferredAction: false, handler: handler) as! ActionSheet
    }
    
    /**
    Set the presenting bar button item. Used for presenting the action sheet on iPad.

    - parameter completion:  Closure to call when the button is pressed
    */
    public func show(animated animated: Bool, completion: (() -> Void)?) {
		//If a delay time has been set, delay the presentation of the alert by the delayTime
		if let time = delayTime {
			let dispatchTime = dispatch_time(DISPATCH_TIME_NOW, Int64(time * Double(NSEC_PER_SEC)))
			dispatch_after(dispatchTime, dispatch_get_main_queue()) {
				self.show(animated: animated, completion: completion)
			}
			
			delayTime = nil
			return
		}
		
        //Override for testing
        if let alertTester = LKAlertController.alertTester {
            alertTester(style: alertController.preferredStyle, title: title, message: message, actions: alertController.actions, fields: alertController.textFields)
