Ensure UI updates occur on main queue