I'm surprised we don't have instances where other JS functions need to inject messages. If we need that in the future this could easily be refactored to support it though.