Only update when necessary and only allow one instance at a time