- Refactor mqtt_publish_stat() to take va_list - Make publish_stat format its response with json_vprintf() so it is valid JSON. - Call publish_stat in channel_set, the only place where the GPIO state changes - Return (valid) JSON response in all RPCs