Let developers construct the watcher themselves
Store the type of watcher this disguise will use
Fetch the watcher that it will use. And stop using empty watchers
Allow devs to change the sounds of disguises
Move calls elsewhere and rename some methods and remove old code.