@classmethod
def make(cls, func, name, **kwargs):
    """Make a subclass of the segment using a method.

        Note: This requires a custom make method, because it's a bit different.
        """
    classname = '{0}_{1}'.format(name, cls.__name__)
    newclass = type(classname, (cls,), dict(_func=func, _name=name, **kwargs))
    return newclass
