handle message submissions from UI