Make message handling more robust

* Convert messages to HashWithIndifferentAccess for string vs. symbol keys
* Handle cases where the ‘from’ field is empty