wrap ui inside Runnable for safe update inside event dispatcer