Added Utils.wait to wrap setTimeout as a promise