code: def columnCount(self, row=None):
          
          if row is not None:
              wholerow = self._segments[row]
              return len(wholerow)
          else:
              column_lengths = [len(x) for x in self._segments]
              return max(column_lengths)
docs: Returns the number of components in a track, 
          or the max number of components in any row, if none given
  
          :param row: track to get count for
          :type row: int
          :returns: int -- number of components for *row*