Refactor to use polling to reduce bounce.