(Option 1) Make all watches asynchronous