HUD and messaging refactor