 
   open func present(notice: Notice, animated: Bool = true)
   {
-    if current != nil {
+    if current == nil {
+      showImmediately(notice: notice, animated: animated)
+    }
+    else {
       pending = notice
 
       dismissCurrentNotice(animated) { [weak self] in

      CATransaction.setCompletionBlock(complete)
      let animation = CABasicAnimation(keyPath: "transform.translation.y")
      animation.duration = 0.25
      animation.toValue = notice.position == .top ? -view.frame.size.height : +view.frame.size.height
      animation.isRemovedOnCompletion = false
      animation.fillMode = kCAFillModeForwards

      view.layer.add(animation, forKey: "slide out")
      CATransaction.commit()


    // If the notice has a finite duration we schedule a dismiss callback
    if let duration = notice.duration {
      DispatchQueue.main.asyncAfter(deadline: .now() + duration) { [weak self] in
        // only dismiss when we it's the same notice
        if self?.current?.view === view {
          self?.dismissCurrentNotice()
