def parse_callback(callback, reduce=True):
    """
        Parses callbacks for CellRenderers: it splits the 
        callback from its arguments if present. Additionally this method will 
        not create singleton argument lists, but pass them as a single argument.
        
        Returns the callback and its argument(s) (or an empty tuple)
    """
    args = tuple()
    try:
        callback, args = callback
    except TypeError as ValueError:
        pass
    #deconvolve things:
    if reduce and len(args) == 1: args = args[0]
    return callback, args