Work started representation on message types based on case classes to
tighten type checking.