def choose_alt(attr, ob, kwargs):
    """If the declared class attribute of ob is callable
    then use that callable to get a default ob 
    instance value if a value is not available in kwargs.

    @param attr: ob class attribute name
    @param ob: the object instance whose default value needs to be set
    @param kwargs: the kwargs values passed to the ob __init__ method
    @return: value to be used to set ob instance

    """
    result = ob.__class__.__dict__.get(attr, None)
    if type(result).__name__ == 'member_descriptor':
        result = None
    elif callable(result):
        result = result(attr, ob, kwargs)
    return result
