Just some general suggestions for code cleanup

Safe to remove actions before adding if this method is going to be called multiple times, so that changeSwitch: won't be called multiple times on one click.  The way you have this written it won't be an issue, but if you implement what I said above without delegation it will be.