router now properly unbinds from statechange event upon .shutdown()