I originally wrote
LibOptionsAssist to give me the ability to refresh my options. You can use it or look at the code to see how it works and apply it to your situation. Keep in mind I didn't know about NotifyChange at the time so I never tried to get that to work.