Use Timer to avoid updating too frequently