Improve watch to use directories for fewer listeners