make watch.go its own package

for the purpose for upcoming changes to the watch functionality.