In the current design, timing out will leave it in some unknown state which could fail subsequence changes. Anyway, the change instance logic needs to be refactor. I'll come up with a new approach of doing that in better way.