       , answerTextViewTrailing, answerTextViewTop ,answerTextViewBottom, indicatorVerticalCenter, indicatorHorizontalCenter, indicatorWidth, indicatorHeight, containerTrailing, containerTop, containerWidth, containerHeight])
   }
   
-  required init?(coder aDecoder: NSCoder) {
-    fatalError("init(coder:) has not been implemented")
-  }
-  
   @objc private func didTapQuestion(_ recognizer: UIGestureRecognizer) {
     self.didSelectQuestion?(self)
   }
   
-  func expand(withAnswer answer: String, animated: Bool) {
+  private func expand(withAnswer answer: String, animated: Bool) {
     answerTextView.text = answer
     expand(animated: animated)
   }
   
-  func expand(withAttributedAnswer attributedAnswer: NSAttributedString, animated: Bool) {
+  private func expand(withAttributedAnswer attributedAnswer: NSAttributedString, animated: Bool) {
     answerTextView.attributedText = attributedAnswer
     expand(animated: animated)
   }
   
-  func expand(animated: Bool) {
+  private func expand(animated: Bool) {
     answerTextView.isHidden = false
     if animated {
       answerTextView.alpha = 0

    update(arrow: .up, animated: animated)
  }
  
  func collapse(animated: Bool) {
    answerTextView.text = ""
    answerTextView.isHidden = true
    answerTextViewBottom.constant = -20
    update(arrow: .down, animated: animated)
  }
  
  func update(arrow: Arrow, animated: Bool) {
    switch arrow {
    case .up:
      if animated {

    addConstraintsForTableViewAndTitleLabel()
  }
  
  required public init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
  }
  
  // MARK: Internal Methods
  
  func updateSection(_ section: Int) {
    if expandedCells[section] == .expanded {
      expandedCells[section] = .collapse
    } else {
      expandedCells[section] = .expand
    }
    tableView.reloadSections(IndexSet(integer: section), with: .fade)
    tableView.scrollToRow(at: IndexPath(row: 0, section: section), at: .top, animated: true)
  }
  
  func updateCellOperation(section: Int, cellOperation: CellOperation) {
    if cellOperation == .expand {
      expandedCells[section] = .expanded
    } else if cellOperation == .collapse {
      expandedCells[section] = .collapsed
    }
  }

  // MARK: Private Methods
  
  private func setupTitleView(title: String) {
    self.titleLabel.textColor = configuration.titleTextColor
    self.titleLabel.font = configuration.titleTextFont
