This has a lot of advantages over the old ways. Some of the initial ones are that
you can log a list of all screenmessages and their respective number and another
is that it would be fairly easy to add a reverse lookup, so you could get the name
of a ScreenMessage for log use by getting the ScreenMessage number.
members are loaded--they'll see resets, score finalization, etc. It
also results in smaller code, due to a g++ bug that causes constructors
to be emitted several times.