pass `update` in UILoop too