         navigationItem.leftBarButtonItems = items
     }
 
-    #if DEBUG
-    @objc
-    private func didTap(debugBarButtonItem: UIBarButtonItem) {
-        debugDidTap?()
-    }
-    #endif
-
     private func configureTableView() {
         tableView.rowHeight = UITableViewAutomaticDimension
         tableView.estimatedRowHeight = 44

        tableView.delegate = self
    }

    private func didSetViewModel() {
        tableView.reloadData()
        setEditing(false, animated: true)
        editButtonItem.isEnabled = viewModel.isEditButtonEnabled
    }

    @objc private func didTap(addBarButtonItem: UIBarButtonItem) {
        self.didTap?(addBarButtonItem)
    }
}

// MARK: - UITableViewDataSource


    public var viewModel: TableViewModel {
        didSet {
            tableView.reloadData()
        }
    }

    public let tableView: UITableView
    
    private var didTap: ((UIBarButtonItem) -> Void)?
    private var didSelectRow: ((IndexPath, UITableView) -> Void)?
    private var didCommitEditing: ((UITableViewCellEditingStyle, IndexPath, UITableView) -> Void)?
    private var didTapAccessoryButtonForRow: ((IndexPath, UITableView) -> Void)?
    
    // MARK: - Life Cycle

    public init(tableView: UITableView = .init(), viewModel: TableViewModel = .init()) {
