docs: def _add_column(self, p_view, p_pos=None):
          """
          Given an UIView, adds a new column widget with the todos in that view.
  
          When no position is given, it is added to the end, otherwise inserted
          before that position.
          """
          def execute_silent(p_cmd, p_todo_id=None):
              self._execute_handler(p_cmd, p_todo_id, lambda _: None)
  
          todolist = TodoListWidget(p_view, p_view.data['title'], self.keymap)
          urwid.connect_signal(todolist, 'execute_command_silent',
                               execute_silent)
          urwid.connect_signal(todolist, 'execute_command', self._execute_handler)
          urwid.connect_signal(todolist, 'repeat_cmd', self._repeat_last_cmd)
          urwid.connect_signal(todolist, 'refresh', self.mainloop.screen.clear)
          urwid.connect_signal(todolist, 'add_pending_action', self._set_alarm)
          urwid.connect_signal(todolist, 'remove_pending_action', self._remove_alarm)
          urwid.connect_signal(todolist, 'column_action', self._column_action_handler)
          urwid.connect_signal(todolist, 'show_keystate', self._print_keystate)
          urwid.connect_signal(todolist, 'toggle_mark',
                               self._process_mark_toggle)
  
          options = self.columns.options(
              width_type='given',
              width_amount=config().column_width(),
              box_widget=True
          )
  
          item = (todolist, options)
  
          if p_pos == None:
              p_pos = len(self.columns.contents)
  
          self.columns.contents.insert(p_pos, item)
  
          self.columns.focus_position = p_pos
          self._blur_commandline()