@classmethod
def mixin(cls, impl_cls):
    """
        Mixin methods dynamically to a Resource class instance.
        
        :param impl_cls: the class we are decorating
        """
    for meth_name in cls.methods:
        method = getattr(cls, meth_name, None)
        if method is None:
            raise ValueError(
                'The method [%s] was defined as a mixin, but is not implemented in the mixin class [%s]'
                 % (meth_name, cls.__name__))
        func = cls.__dict__[meth_name]
        setattr(impl_cls, meth_name, func)
    cls.setup(impl_cls)
    return impl_cls
