ly.</li>

    <li>To warrant fast table lookup, states and events must be represented
    with an integer. To keep the table as small as possible, the numbering
    should be continuous, e.g. if there are ten states, it's best to use the
    ids 0-9. To ensure continuity of ids, all states are best defined in the
    same header file. The same applies to events. Again, this does not
    scale.</li>

    <li>Because events carrying parameters are not represented by a type,
    some sort of a generic event wi