      */
     public class func centerVertically(parent: UIView, child: UIView, offset: CGFloat = 0) {
         prepareForConstraint(parent, child: child)
-        
         parent.addConstraint(NSLayoutConstraint(item: child, attribute: .centerY, relatedBy: .equal, toItem: parent, attribute: .centerY, multiplier: 1, constant: offset))
-        
-        child.updateConstraints()
-        child.setNeedsLayout()
-        child.layoutIfNeeded()
+        updateConstraints(for: child)
     }
     
     /**

     */
    public class func horizontally(parent: UIView, children: [UIView], left: CGFloat = 0, right: CGFloat = 0, interimSpace: InterimSpace = 0) {
        prepareForConstraint(parent, children: children)
        if 0 < children.count {
            parent.addConstraint(NSLayoutConstraint(item: children[0], attribute: .left, relatedBy: .equal, toItem: parent, attribute: .left, multiplier: 1, constant: left))
            for i in 1..<children.count {

    }
}

fileprivate extension Layout {
    /**
     Updates and lays out the constraints for a given view.
     - Parameter for view: A UIView.
     */
    class func updateConstraints(for view: UIView) {
        view.updateConstraintsIfNeeded()
        view.updateConstraints()
        view.setNeedsLayout()
        view.layoutIfNeeded()
    }
}

/// Layout
extension Layout {
    /**
