Move consequence code into watchlib.py