RevBank reads the new products file on every interaction (e.g. pressing enter), and then fires hooks like `product_changed`. Every running instance gets those hooks, but the price tage should be generated only once.