TODO: de-dup message builder. see sendMessage(String msgType, Object payload)