bool ClientLobbyRoomProtocol::notifyEvent(Event* event)
{
    assert(m_setup); // assert that the setup exists

    NetworkString &data = event->data();
    assert(data.size()); // assert that data isn't empty
    uint8_t message_type = data.getUInt8();
    Log::info("ClientLobbyRoomProtocol", "Synchronous message of type %d",
              message_type);
    switch(message_type)
    {
        case LE_KART_SELECTION_UPDATE: kartSelectionUpdate(event); break;
        case LE_RACE_FINISHED:         raceFinished(event);        break;
        case LE_EXIT_RESULT:           exitResultScreen(event);    break;
        default:
            return false;
            break;
    }   // switch
    return true;
}   // notifyEvent
bool ClientLobbyRoomProtocol::notifyEvent(Event* event)
{
    assert(m_setup); // assert that the setup exists
    if (event->getType() == EVENT_TYPE_MESSAGE)
    {
        const NetworkString &data = event->data();
        assert(data.size()); // assert that data isn't empty
        uint8_t message_type = data[0];
        if (message_type != 0x03 &&
            message_type != 0x06)
            return false; // don't treat the event

        event->removeFront(1);
        Log::info("ClientLobbyRoomProtocol", "Synchronous message of type %d", message_type);
        if (message_type == 0x03) // kart selection update
            kartSelectionUpdate(event);
        else if (message_type == 0x06) // end of race
            raceFinished(event);

        return true;
    }
    return false;
}   // notifyEvent