signal gui updates across threads, fixes #103