@classmethod
def make(cls, template, case_sensitive=False, name=None, **kwargs):
    """Make a subclass of the segment using a method."""
    if case_sensitive:
        _template = template
    else:
        _template = template.upper()
    name = name or _template
    classname = '{0}_{1}'.format(name, cls.__name__)
    newclass = type(classname, (cls,), dict(_template=_template,
        _case_sensitive=case_sensitive, _name=name, **kwargs))
    return newclass
