def overrides(interface_class):
    """Decorator that ensures overriden methods are valid.

    Args:
        interface_class: the respective super class

    Example::

            class ConcreteImplementer(MySuperInterface):
                @overrides(MySuperInterface)
                def my_method(self):
                    print 'hello kitty!'
    """
    def overrider(method):
        assert(method.__name__ in dir(interface_class))
        return method
    return overrider