'Register a callback function with the list.  This function
will be called whenever the given event occurs.
:param event: The event that will trigger the callback
function.  Valid events are: click1, click2, click3,
space, return, select, up, down, next, prior, move
:param func: The function that should be called when
the event occurs.  ``func`` will be called with a
single item as its argument.  (The item selected
or the item moved to).'

def add_callback(self, event, func):

    if (event == 'select'):
        events = ['click1', 'space', 'return']
    elif (event == 'move'):
        events = ['up', 'down', 'next', 'prior']
    else:
        events = [event]
    for e in events:
        self._callbacks.setdefault(e, {})[func] = 1
