added unload/suspend/resume event to programs. It can dispose of widgets when dashboard unloads.