on_best_changed event is fired asynchronously