There is no protection against buffer overflows (like getting 100 blanks while waiting for the STX),
and I'm not happy about the ESCIT handling outside the switch, but it is a start.
Most of the code is output and Serial faking, but I think the general structure using a callback
is quite logical and a good separation of reception and processing of the message.