All UI operation are done in one thread