         self.view.removeConstraints(self.view.constraints)
         self.setupGroupViews()
 
-        self.cancelGroupView.removeConstraints(self.cancelControlConstraints)
-        self.cancelControlConstraints = self.constraintsForViews(self.cancelControls)
-        self.cancelGroupView.addConstraints(self.cancelControlConstraints)
-        self.actionGroupView.removeConstraints(self.actionControlConstraints)
-        self.actionControlConstraints = self.constraintsForViews(self.actionControlsWithTitle())
-        self.actionGroupView.addConstraints(self.actionControlConstraints)
+        self.updateCancelContraints()
+        self.updateActionContraints()
     }
 
     func handleTaps(sender: UIControl) {

        return views
    }


    // MARK: Control positioning

    private func setupGroupViews() {
        let setupGroupView: UIView -> Void = { groupView in
            groupView.clipsToBounds = true
            groupView.layer.cornerRadius = CGFloat(self.cornerRadius)

        control.tag = self.actions.count

        self.actions.append(action)

        if isCancelAction {
            self.cancelControls.append(control)
        } else {
