def METHOD_NAME(obj, *args, **kwargs):
    """
    Get a value from a nested dictionary.
    Cleans up calls that look lke this:
        bundle_info.get('owner', {}).get('user_name', None)
    And turns them into:
        safe_get(bundle_info, 'owner', 'user_name')
    :param obj: dict-like object to 'get' value from
    :param args: variable list of nested keys
    :param kwargs: supports the kwarg 'default' to specify the default value to
                   return if any of the keys don't exist. (default is None)
                   Any other kwarg will raise an exception.
    :return: retrieved value or default if it doesn't exist
    """
    default = kwargs.pop('default', None)
    precondition(not kwargs, 'unsupported kwargs %s' % list(kwargs.keys()))
    try:
        for arg in args:
            obj = obj[arg]
        return obj
    except (KeyError, TypeError):
        return default