notification preferences ui, method, and migration