I think you need a `return` here, otherwise the callback always gets called with didUpdate == false