Change interface to watch function, pass callbacks as named hash parameters