Message class + tests