Separate message from connection
Determine message type without interpret cast
OOP Message register name