I still think it would be a bit better to avoid using `message.type` here, since there's no actual reason the message needs a `.type` member. I know it lets us make separate event listeners rather than doing it all in one function, but it also makes this less flexible.

We could also put iac_handler.js in the shared/js directory, so that other apps can use this. I expect it will be pretty useful as more apps start using the IAC API. If we do this, we definitely need to avoid using `message.type` in the event name, since we don't want to restrict how other apps build their messages.