def explain(code, signals=SIGNALS):
    """
    Explain what a given integer signal *code* does,
    including it's signal name.

    :param code: An integer signal.
    :param signals: A database of signals.
    """
    if code not in signals:
        raise NoSuchSignal(code)
    signal, action, description = signals[code]
    return {
        'id': code,
        'signal': signal,
        'action': action,
        'description': description,
        }