       animation.duration = 0.25
       animation.fromValue = notice.position == .top ? -view.frame.size.height : +view.frame.size.height
       animation.toValue = 0
-      animation.isRemovedOnCompletion = false
-      animation.fillMode = kCAFillModeForwards
 
       view.layer.add(animation, forKey: "slide in")
       CATransaction.commit()

        }
      }

    }
    else {
      showImmediately(notice: notice, animated: animated)
    }
  }



    // 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()
