This is a global variable, but shouldn't the churn detection state be per-port?