Why is any of this stuff necessary? From what I can tell all that should happen is that we just need to copy over the concurrent context  instance. Why does it need to be rebuilt?