Made criteria persistent between sessions; moved all watches on variables to the main controller (so that if they change *anywhere* in the app, the *whole* app is notified)