I think it's cleaner (and less code) if we stick w/ raw codes instead of full messages.