correctly use `register_setting` and use `self`