add uitask::Post(func, arg) for running stand-alone functions on ui thread