Refactoring message classes and adding more incoming message decode support