add optional callback to process refreshed data