Implemented watchers

Apparently, I forgot to add most of the files to my last commit.
Here they are.