                     $0.parentStackViewPosition = position
                     topStackView.addArrangedSubview($0)
                 }
+                guard superview != nil else { return }
                 topStackView.layoutIfNeeded()
             }
         }

    /// - Parameter positions: The UIStackView's to layout
    public func layoutStackViews(_ positions: [InputStackView.Position] = [.left, .right, .bottom, .top]) {
        
        for position in positions {
            switch position {
            case .left:

                    $0.parentStackViewPosition = position
                    rightStackView.addArrangedSubview($0)
                }
                guard superview != nil else { return }
                rightStackView.layoutIfNeeded()
            case .bottom:
                bottomStackView.arrangedSubviews.forEach { $0.removeFromSuperview() }
