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*

def columnCount(self, row=None):
        """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*
        """
        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)