@classmethod
def add_column_data(cls, name, dtype, transform):
    """
        Function-based approach to modifying the class-specific
        :attr:`.__column_data_map` attribute. Must use :func:`getattr`
        to prevent class-private name mangling

        Parameters
        ----------
        name: str
            Name of the new column_data field
        dtype: str
            The SQL data type to encode the column as
        transform: function
            The function to extract the value of the column_data from a record
        """
    try:
        getattr(cls, '_{}__column_data_map'.format(cls.__name__))[name
            ] = dtype, transform
    except:
        setattr(cls, '_{}__column_data_map'.format(cls.__name__), {name: (
            dtype, transform)})
