1. Added base message class implementation and tests