<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def renderer(self, id=None, force=True):
 """Class decorator for Renderers. The decorated class will be added to the list of renderers kept by this instance that will be registered on the app upon app initialization. :param id: Id for the renderer, defaults to the class name in snake case. :param force: Whether or not to overwrite existing renderers. """


        def _(cls):
            name = cls.__name__
            sn = name[0] + re.sub(r'([A-Z])', r'_\1', name[1:])

            self._renderers.append((id or sn.lower(), cls, force))
            return cls

        return _