             self.superview?.layoutIfNeeded()
         }) { (finished: Bool) in
             if finished {
-                if (self.tapCloseCallback != nil) {
-                    self.tapCloseCallback!();
+                switch actionTaken {
+                case ActionTaken.TappedGo :
+                    if let callback = self.tapGoCallback {
+                        callback()
+                    } else {
+                         print("Nothing happened when you tapped go, define .tapGoCallback")
+                    }
+                    
+                    break
+                case ActionTaken.Dismissed :
+                    if let callback = self.tapDismissCallback {
+                        callback()
+                        break
+                    }
+                    
                 }
             }
         }
-        
-        
+
     }
 }

    var contentView : UIView?
    
    public var tapGoCallback : (() -> Void)?
    public var tapCloseCallback : (() -> Void)?
    
    override public var backgroundColor: UIColor? {
        didSet {

    }
    
    @IBAction func goButtonTapped(_ sender: Any) {
        dismissView(actionTaken: ActionTaken.TappedGo)
    }
    
    @IBAction func notificationTapped(_ sender: Any) {
        dismissView(actionTaken: ActionTaken.Dismissed)
    }
    
    func dismissView(actionTaken: ActionTaken) {
        self.superview?.layoutIfNeeded()
        
        self.label.text = ""
