Rewrote the settings system. It may still need some work.