3.18: break reason and message out to their own key/value pairs