Completely functional except currentset isn't updated on disabling. We're giving up and accepting that it will be wrong.