Refactored message types to remove some redundancy.