         }
         addChild(buttonContainer)
         view.addAutolayoutSubview(buttonContainer.view)
-        bottomConstraint = buttonContainer.view.bottomAnchor.constraint(equalTo: view.bottomAnchor)
 
         NSLayoutConstraint.activate([
             containedViewController.view.topAnchor.constraint(equalTo: view.topAnchor),

    }
    private let bottomViewKind: BottomViewKind
    private var buttonContainer: UIViewController!
    private var bottomConstraint: NSLayoutConstraint!
    
    private enum BottomViewKind {
        case button(UIButton, UIEdgeInsets)

    }
    
    func performAnimation(_ animation: Animation, animator: UIViewPropertyAnimator = UIViewPropertyAnimator(duration: 3, curve: .easeInOut, animations: nil)) {
        let transform: CGAffineTransform = {
            switch animation {
            case .showBottomController:
                return .identity
            case .hideBottomController:
                return CGAffineTransform.init(translationX: 0, y: buttonContainer.view.frame.height)
            case .custom(let spacing):
                return CGAffineTransform.init(translationX: 0, y: spacing)
            }
        }()
        animator.addAnimations {
            self.bottomController?.view.transform = transform
        }
        animator.startAnimation()
    }
