'Custom class inheritance evaluation.
:param cls: The CinderInterface to check against.
:param other_cls: The class to be checked if it implements
our interface.'

@classmethod
def __subclasshook__(cls, other_cls):

    interface_methods = cls._get_methods()
    driver_methods = _get_method_info(other_cls)
    interface_keys = interface_methods.keys()
    driver_keys = driver_methods.keys()
    matching_count = len((set(interface_keys) & set(driver_keys)))
    if (matching_count != len(interface_keys)):
        return NotImplemented
    return True
