   
   open func remove(views: [UIView], animated: Bool) {
 
+    layoutIfNeeded()
+
     var indicesForRemove: [Int] = []
 
     for view in views {

  }
  
  open func remove(view: UIView, animated: Bool) {
    
    if let index = views.firstIndex(of: view) {
      views.remove(at: index)
      if animated {


  open func insert(views _views: [UIView], at index: Int, animated: Bool) {

    layoutIfNeeded()

    var _views = _views
    _views.removeAll(where: views.contains(_:))
    views.insert(contentsOf: _views, at: index)
