def list_items(obj):
    """
    Returns a list of key,value pairs for the content of an object
    Creates an abstraction layer so that we do not have to worry.
    """
    try:
        return obj.items()
    except AttributeError:
        return obj.__dict__.items()
    except TypeError:
        return enumerate(list(obj))
